Развертывание openbox

Распробовав OpenBox в качестве быстрой и минималистичной рабочей системы, я перешел на него полностью, отказавшись от GNOME. Через некоторое время понял, что каждая новая инсталляция системы вносит что-то новое и что у меня возросло время поиска готовых решений среди заметок своего блога. Я решил собрать в один текст заметки по установке и настройке своей системы. Получилась не очень полная, не очень гладкая стилистически, эклектичная, но вполне рабочая шпаргалка. Заметив, что при переустановке системы (или при установке на чужой машине), очень удобно подсмотреть забытые вещи в онлайне — вывешиваю ее к себе в блог.

Дисклэймером: система настраивается под мои нужды, для постороннего некоторые вещи могут выглядеть странно. В любом случае я с удовольствием прочитаю любые мнения и замечания.

Это черновой и очень схематичный вариант. Но возможно, он будет интересен кому-нибудь еще.

Установка базовой системы

Начальная установка идет с ubuntu-minimal.iso

В качестве справки — см руководство

Скачиваем minimal_cd — там только начальная установочная система. Нарезаем на болванку или на флэшку (через unetbootin или через стандартную убунтовскую утилиту). Запускаемся, устанавливаем начальную систему (разбивается диск и устанавливается база). На стадии, когда система предлагает sudo tasksel — не отмечаем в нем ничего.

После перезагрузки приступаем к работе.

Начальный пакет программ

sudo aptitude install vim pmount mc gpm

vim — как редактор, pmount — для флэшек, gpm — удобство в работе с командами из блога, mc просто для удобства.

Долго недооценивал mc — в принципе в консоли он лишний, однако, поработав немного вообще без иксов изменил мнение о двухпанельнике. Внимательно почитав мануалы, отыскал аналоги нужные мне хоткеи, которыми я привык пользоваться в TC и FreeCommander — и которых мне не хватало в midnight commander.

Показ скрытых файлов отключается в:

<F9> Настройки - Конфигурация - Настройки файлов

Полезные хоткеи:

Alt+i - открыть в соседней панели дубликат текущей
Alt+o - открыть в соседней панели директорию, на которой стоит курсор

Alt+t - переключает вид директорий

Alt+y - переместиться назад по истории смен каталогов
Alt+u - переместиться вперед по истории смен каталогов
Alt+S+h или Alt+H - история смены каталогов

Ctrl+o - открыть/закрыть окно консоли (с переключением на работу в ней)

Ctrl+x h - добавить директорию в избранное (хотлист)
C-\ - показать избранное (хотлист)

Алиасы

Алиасы — штука очень и очень полезная. Наравне с ~/bin они экономят время при работе в комстроке и фактически позволяют развернуть свою систему команд. При переустановке я, увы, забыл забрать свой старый файлик с сокращениями и теперь страдаю :)

Те алиасы, которые я восстановил по памяти и записям в абтф:

alias ls='ls --color=auto'
alias ll='ls -l'
alias la='ls -A'
alias lg='ls --g'
alias l='ls -CF'
alias ..='cd ..'

alias mpls='mplayer -playlist'
alias fbm='sudo mplayer -vo fbdev2 -fs -zoom -xy 1024 -really-quet'
alias g='gvim --remote-silent 2>/dev/null'
alias p='python'

alias tc='truecrypt'
alias utr='truecrypt -d'

alias search='aptitude search'
alias show='aptitude show'
alias install='sudo aptitude install'

alias maxb='maxima -b'

Для использования алиасов из эмулятора терминала достаточно создать в ~ файл ~/.bash_aliases в который записать все необходимое. В убунту в ~/.bashrc прописано условие по которому он найдя файл с именем ~/.bash_aliases подхватывает его и интегрирует в систему.

Однако, если работать в screen или в «чистой консоли», то это не сработает. Причина в том, что ~/.bashrc срабатывает только в том случае, если грузится из эмулятора терминала. В противном случае используется /etc/profile (в моей системе во всяком случае).

Нужно в /etc/profile добавить:

# this is ~/.bash_profile
if [ "$PS1" ]; then
    [ -f ~/.bash_aliases ] && source ~/.bash_aliases
fi

Кстати, лишний аргумент, для того, чтобы держать алиасы в отдельном файле.

Подробности в статье GNU Screen and aliases

Подключение дополнительного репозитория

sudo vim /etc/apt/sources.list

Снять комменты в /etc/apt/sources.list с бэкпортов и партнерской программы — в том числе, чтобы позже установить sun-java6.

Сеть для второй машины

Дальше настраивается сеть для Насти.

$ sudo -E -s
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# exit

Проверяем себя:

$ sudo iptables-save

Получаем что-то вроде:

# Generated by iptables-save v1.4.4 on Wed Dec 15 10:02:58 2010
*nat
:PREROUTING ACCEPT [2:260]
:POSTROUTING ACCEPT [3:358]
:OUTPUT ACCEPT [147:9428]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Wed Dec 15 10:02:58 2010

Переходим в режим рута и вписываем правила iptables в if-up.d — в скрипт, активизируемый при загрузке в момент включения сетевой карточки.

$ sudo -E -s
# echo -e "#! /sbin/iptables-restore\n`iptables-save`" > /etc/network/if-up.d/iptables-rules
# chmod +x /etc/network/if-up.d/iptables-rules

Проверка:

# ls -lA /etc/network/if-up.d/ipt*
-rwxr-xr-x 1 root root 1214 2010-06-10 19:08 /etc/network/if-up.d/iptables-rules
# exit

$ sudo reboot

После чего проверьте, что правила действительно загрузились:

$ sudo iptables-save

sudo vim /etc/sysctl.conf

раскомментировать:

net.ipv4.ip_forward=1

чтобы выполнить до перезагрузки:

sudo sysctl -w net.ipv4.ip_forward="1"

Добавить в /etc/network/interfaces соответствующие правила:

$ sudo -s
# cp /etc/network/interfaces /etc/network/interfaces.bak
# vim /etc/network/interfaces

Файл выглядит следующим образом:

Было:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

Стало:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
     address 192.168.0.1
     netmask 255.255.255.0

Добавились действия для eth1.

Настройка GoogleDNS

sudo vim /etc/dhcp3/dhclient.conf

Раскомментить в нем:

prepend domain-name-servers 127.0.0.1;

И добавить:

prepend domain-name-servers 8.8.8.8, 8.8.4.4, 127.0.0.1;

Утилиты для работы в сети

sudo aptitude install samba smbclient smbfs

samba позволяет расшаривать папки и принтер на своем компьютере, smbclient перемещаться по сетевым ресурсам в стиле ftp:

smbclient -L //SAT

или

smbclient -L //192.168.0.2

Позволяет посмотреть список шар на конкретной машине, а:

smbclient //SAT/BigShare

Позволяет подключить шару, зайти в нее, посмотреть в ней список файлов и что-то скачать или загрузить в нужные папки. Скачивание файлов идет через get (один файл) или через reget (recursive get), загрузка через put и reput.

smbfs позволяет монтировать расшаренные другими ресурсы в свою файловую систему (и иметь к ним доступ, как к обычным папкам:

sudo mkdir ~/net
sudo mount -t cifs //192.168.0.2/BigShare ~/net -o rw,iocharset=utf8

При необходимости отключить:

sudo umount ~/net

Начальное обеспечение командной строки

sudo aptitude install screen curl htop

Связь в комстроке

sudo aptitude install bitlbee weechat w3m alpine newsbeuter

Базовый openbox

sudo aptitude install xinit xorg openbox obconf obmenu

Обвязка openbox необходимыми утилитами

sudo aptitude install geany synaptic lxappearance human-theme humanity-icon-theme 
conky parcellite gmrun ttf-droid feh sakura vim-gtk 
xfonts-terminus file-roller unrar-free xfonts-terminus-oblique
gnome-settings-daemon

Работа системы идет через файлы:

~/.config/openbox/
            autostart.sh
            menu.xml
            rc.xml

Кое-что я описывал в заметке про openbox.

Свой ~/.gtkrc-2.0.mine

# http://www.gtk.org/api/2.6/gtk/GtkSettings.html
gtk-theme-name="Clearlooks"
gtk-icon-theme-name="gnome"
gtk-font-name="Droid Sans 10"
# gtk-toolbar-style=0
gtk-toolbar-style = GTK_TOOLBAR_ICONS
gtk-toolbar-icon-size = GTK_ICON_SIZE_SMALL_TOOLBAR
gtk-can-change-accels = 1

Тема для рабочего стола выбирается через lxapperance — Clearlooks, значки Среда GNOME, «только значки»

Удобный интерфейс установки deb-пакетов

sudo aptitude install gdebi

tint2

tint2 ставлю из репозитария киллероида, напрямую скачивая версии:

tint2_0.11~svn592-1_i386.deb
tint2conf_0.11~svn592-1_i386.deb

Файловые менеджеры

sudo aptitude install nautilus pcmanfm

Контроль железа (для конки)

sudo aptitude install lm-sensors

Мультимедийное обеспечение

Звук:

sudo aptitude install pulseaudio

Контроль pulse-audio:

sudo aptitude install pavucontrol

Проигрывание и редактирование видео- и аудиофайлов:

sudo aptitude install moc mplayer audacity

Работа с графикой

sudo aptitude install geeqie gimp fbgrab comix

Документация и системы хранения

evince djview4 markdown mercurial

Шрифты

grep -i dpi /var/log/Xorg.0.log

Коммуникации

sudo aptitude install midori pidgin transmission

Убунтузилла

echo -e "\ndeb http://downloads.sourceforge.net/project/ubuntuzilla/mozilla/apt all main" | sudo tee -a /etc/apt/sources.list > /dev/null
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com C1289A29
sudo aptitude update && upgrade
sudo aptitude install firefox-mozilla-build thunderbird-mozilla-build

На http://ubuntuzilla.sf.net приводится множество мануалов — в частности по русификации установленных программ и прочее.

Отдельно на тему бага заключающегося в подтормаживании при проигрывании онлайного видео в режиме полного экрана. Мануал был найден здесь:

Fix Fullscreen Bug For Flash Videos In Ubuntu 10.4 (Lucid Lynx)

Мой сокращенный перевод:

  1. Правый клик на любом флэш-ролике (Youtube, Google Video, etc.), выберите Settings.
  2. Уберите галочку «Enable hardware acceleration». Закройте окно.
  3. В терминале создайте папку adobe в /etc:sudo mkdir /etc/adobe
  4. И выполните следующие команды:sudo su
    sudo echo \»OverrideGPUValidation = 1\» >> /etc/adobe/mms.cfg
    exit
  5. Перезапустите браузер.

Установка дров нвидии

Есть мануал по переустановке и фиксингу. Пожалуй, самая рискованная и идиотская операция. Когда наконец допилят плимут, чтобы не приходилось плясать с бубном?

Уcтановка драйверов nVidia

Ява, freemind

sudo apt-get install sun-java6-jre sun-java6-fonts

freemind я скачиваю с http://freemind.sf.net и распаковываю в ~/xaoc/soft/freemind/ В папке есть файл freemind.sh, который собственно запускает программу. Его нужно сделать исполняемым:

chmod a+x ~/xaoc/soft/freemind/freemind.sh

В ~/bin можно добавить линк на него, например так:

ln -s ~/xaoc/soft/freemind/freemind.sh ~/bin/freemind

Тогда его можно будет вызывать в комстроке, набирая freemind, также он понимает, когда ему передают имя других файлов — то есть в pcmanfm или nautilus или в чем-нибудь еще можно кликнуть правым кликом на файл и указывая «открывать с помощью» — указать этот файл (ссылку или оригинал freemind.sh). Если поставить галочку «открывать по умолчанию», то freemind будет интегрирован в систему.

Принтер

Настройка принтера:

sudo aptitude install cups

В браузере в строке адреса набрать localhost:631

Откроется окно настройки CUPS. Find New Printers -> Add -> (драйвер Xerox Phaser 3117) -> Просит ввести логин/пасс (как понимаю рутовские) ввожу добавляет.

Добавляет во вкладку Printers

Распечатать пробный лист:
Printers -> Print Test Page

9 Responses to Развертывание openbox

  1. vjoiller:

    Спасибо, очень помогла статья. Правда, образ минимальной Убунты я не нашел, Каноникал их сейчас не делает. Но можно попробовать ubuntu-11.04-alternate или ubuntu-11.04-server.

  2. vjoiller:

    А не, туплю. Есть Minimal CD.

  3. Alex:

    Evince два раза поставили. :) И unetbootin пишется без «g» на конце.
    Спасибо за статью!

  4. И ведь таки да. Спасибо за отлов «энциклопудии» :) Поправил.

    Вообще, уже давно обновлять пора — много воды утекло за это время. И debian вместо ubuntu, и есть smxi.org и все прочее. Но руки не доходят :(

  5. Alex:

    Скажите, пожалуйста, какой блог у Вас все ж основной? :) А то в поиске вижу и livejournal, и wordpress, и dreamweadth… Или они синхронизируются вместе с комментариями? :)
    Пишете очень хорошо, местами даже дотошно, что полезно.

  6. Сложный вопрос :) Исторически ЖЖ был первым. Дальше, по мере того, как платформа загаживалась рекламой и «улучшениями» СУПа, я потихоньку начал перебираться на WP и на dreamwidth. Сейчас все серьезное и важное попадает на WP (и дублируется в ЖЖ), все не очень серьезное и не очень важное (и прочий дыбр) попадает в основном в ЖЖ. И возможности наладить внятную синхронизацию этих двух сервисов пока нет. Что меня очень расстраивает :(

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: