Распробовав 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)
Мой сокращенный перевод:
- Правый клик на любом флэш-ролике (Youtube, Google Video, etc.), выберите Settings.
- Уберите галочку “Enable hardware acceleration”. Закройте окно.
- В терминале создайте папку adobe в /etc:sudo mkdir /etc/adobe
- И выполните следующие команды:sudo su
sudo echo \”OverrideGPUValidation = 1\” >> /etc/adobe/mms.cfg
exit - Перезапустите браузер.
Установка дров нвидии
Есть мануал по переустановке и фиксингу. Пожалуй, самая рискованная и идиотская операция. Когда наконец допилят плимут, чтобы не приходилось плясать с бубном?
Ява, 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

[...] Развертывание openbox [...]
Evince два раза поставили. :) И unetbootin пишется без “g” на конце.
Спасибо за статью!
И ведь таки да. Спасибо за отлов “энциклопудии” :) Поправил.
Вообще, уже давно обновлять пора – много воды утекло за это время. И debian вместо ubuntu, и есть smxi.org и все прочее. Но руки не доходят :(
Скажите, пожалуйста, какой блог у Вас все ж основной? :) А то в поиске вижу и livejournal, и wordpress, и dreamweadth… Или они синхронизируются вместе с комментариями? :)
Пишете очень хорошо, местами даже дотошно, что полезно.
Сложный вопрос :) Исторически ЖЖ был первым. Дальше, по мере того, как платформа загаживалась рекламой и “улучшениями” СУПа, я потихоньку начал перебираться на WP и на dreamwidth. Сейчас все серьезное и важное попадает на WP (и дублируется в ЖЖ), все не очень серьезное и не очень важное (и прочий дыбр) попадает в основном в ЖЖ. И возможности наладить внятную синхронизацию этих двух сервисов пока нет. Что меня очень расстраивает :(
[...] Развертывание openbox [...]
Спасибо, очень помогла статья. Правда, образ минимальной Убунты я не нашел, Каноникал их сейчас не делает. Но можно попробовать ubuntu-11.04-alternate или ubuntu-11.04-server.
А не, туплю. Есть Minimal CD.