Новая шпаргалка по развертыванию openbox

Пока оставляю здесь — в ожидании замечаний и предложений от уважаемых френдов. Чуть позже вывешу в заглавие вордпресса.

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

2012-07-19 15:31

Много воды утекло со времени написания первого руководства. Ваш покорный слуга сменил ubuntu на debian, сначала в варианте stable, сейчас — перешел на testing. Постепенно, я пришел к идее небольшого скрипта, автоматом создающего рабочую систему. Чуть позже открыл для себя сайт http://smxi.org с таким прекрасным инструментом администрирования как smxi, словом накопилось множество изменений. В то же время основная схема осталась прежней — минималистичный openbox с легковесными программами «и чтобы все летало».

Базовая система

Сам процесс описывался неоднократно, подробно останавливаться не буду. Внятное описание на русском можно отыскать в «Записках дебианщика», а именно «шаг первый». Обратите внимание — на этапе выбора системы (tasksel) снять все галочки кроме самой нижней («стандартные утилиты») — чтобы не тянуть лишний софт.

Кроме того, я предпочитаю ставить систему с netinstall — поскольку софт все равно прибывает по сети и в современных интернетах с их скоростями етс разумнее выкачать только необходимое, вместо того чтобы тянуть весь репозитарий. Таким образом, в моем случае начальная установка идет с «netinstall» диска под архитектуру (в моем случае) i386. «Исошник» закачивается по сети и «нарезается» на флэшку при помощи unetbootin.

Со второго шага мы заходим в систему и идем своим путем.

vim и sudo

2012-07-19 15:36

После установки я обычно ставлю vim редактором по умолчанию — в nano мне сложнее работать.

su
update-alternatives --config editor

И дальше выбирается нужный редактор.

После этого устанавливаем sudo — по опыту убунты я привык работать в таком режиме и считаю его идеологически правильным.

$ su
# aptitude install sudo

После инсталяции:

# visudo

Самый простой путь — скопировать строку root = … и вместо root подставить свой юзернейм — в моем случае — vik.

Примечание для себя: про истинный смысл sudo. Он в том, чтобы позволить пользователям действия рута не открывая паролей рута. То есть есть root и есть vik. Допустим у них разные пароли. Чтобы выполнить действие рута можно войти в него (su) или сделать sudo … — разница в том, что для su я набираю пароль рута, а на sudo — свой собственный пароль (пароль для vik).

Пакетная установка первого эшелона софта

2012-07-19 15:38

Вводить команды установки программ по одной, в стиле:

sudo aptitude install vim
...
sudo aptitude install zip unzip p7zip bzip2 
...
sudo aptitude install pmount mc gpm
...

списывая их из шпаргалки скучно и затратно по времени.

Гуру дебиана показывают чудеса работы с пакетными инструментами вроде создания списка всех пакетов системы, а потом «запуливания» этого списка в новую систему. Но в моем случае списки получаются громоздкими, плюс при каждой новой установке выясняется что какие-то из программ уже не нужны, а какие-то хотелось бы иметь в системе.

Поэтому я пошел по третьему пути, создав для себя скрипт (фактически однострочник), в котором сложен «первый эшелон» софта.

#!/bin/bash

sudo aptitude install \
    vim \
    zip unzip p7zip bzip2 pmount mc gpm \
    screen curl htop \
    ssh avahi-demon avahi-discover \
    samba smbclient smbfs cifs-utils \
    nfs-server nfs-kernel-server nfs-common nfs-client \
    bitlbee weechat w3m alpine newsbeuter \
    mercurial \
    ntp \
    xinit xorg openbox obconf obmenu \
    gdebi pcmanfm synaptic \
    ttf-droid xfonts-terminus xfonts-terminus-oblique fonts-liberation \
    sakura vim-gtk \
    markdown makeztxt geany \ 
    remind tkremind \ 
    file-roller unrar-free gnome-settings-daemon \
    pulseaudio pavucontrol paprefs \
    moc mplayer2 audacity easytag ffmpeg lame \
    geeqie rawtherapee gimp feh fbgrab comix evince djview4 \
    midori pidgin transmission \
    lxappearance human-theme humanity-icon-theme \
    conky parcellite tint2 gmrun \
    wine \
    cups \
    openjdk-7-jre

Это сохраняется в текстовый файл (например first_grade.sh), дальше делаем этот файл исполняемым и запускаем его на выполнение:

chmod +x first_grade.sh
./first_grade.sh

Нас спросят пароль для sudo, после чего debian примется качать и ставить все указанное в пакете.

Нюанс.

Бэкслэш (\) означает «перенос строки». То есть в принципе этот файл можно было бы сделать и таким:

#!/bin/bash

sudo aptitude install vim zip unzip p7zip bzip2 pmount mc gpm screen curl htop ssh avahi-demon avahi-discover samba smbclient smbfs cifs-utils nfs-server nfs-kernel-server nfs-common nfs-client bitlbee weechat w3m alpine newsbeuter mercurial ntp xinit xorg openbox obconf obmenu gdebi pcmanfm synaptic ttf-droid xfonts-terminus xfonts-terminus-oblique fonts-liberation sakura vim-gtk markdown makeztxt geany remind tkremind file-roller unrar-free gnome-settings-daemon pulseaudio pavucontrol paprefs moc mplayer2 audacity easytag ffmpeg lame geeqie rawtherapee gimp feh fbgrab comix evince djview4 midori pidgin transmission lxappearance human-theme humanity-icon-theme conky parcellite tint2 gmrun wine cups openjdk-7-jre

Но разнесение по строкам служит мне разбивкой по категориям. Если присмотреться — в каждой строчке собраны более или менее схожие по категории или целевому назначению программы. Перед запуском файла я открываю его в редакторе и просматриваю — что добавить, что убрать на предмет актуальности-неактуальности и вместо «каши» из названий вижу стройную и упорядоченную картину.

Большая часть программ описана в предыдущем руководстве — можете заглянуть туда, либо посмотреть описание непосредственно в aptitude, например:

aptitude show gmrun

Мелкое допиливание системы

2012-07-19 15:57

Звук в терминале

2012-07-19 16:01

Отключить звук для терминала

звук отключается с помощью

setterm -blength 0

Алиасы

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

alias ll='ls -l'
alias l1='ls -1'
alias la='ls -A'
alias lg='ls --g'
alias l='ls -CF'
alias lb='ls -sh | sort -h'
alias lt='ls -tr'

alias 2av='cd ~/av'
alias 2pod='cd ~/av/pod'
alias 2dic='cd ~/dic'
alias 2desktop='cd ~/desktop'
alias 2blog='cd ~/blog'

alias np='mocp -i | grep ^Title: | cut -c 8-256'
alias g='gvim --remote-silent 2>/dev/null'
alias e='gvim --remote-silent 2>/dev/null'
alias p='python'

alias sc='screen'
alias twi='ttytter'

alias show='aptitude show'
alias search='aptitude search'
alias update='sudo aptitude update'
alias upgrade='sudo aptitude upgrade'
alias install='sudo aptitude install'
alias purge='sudo aptitude purge'
alias remove='sudo aptitude remove'

alias mpls='mplayer -playlist'
alias missoncontrol='mplayer -playlist ~/av/online/soma_fm/missioncontrol.pls'
alias spacestation='mplayer -playlist ~/av/online/soma_fm/spacestation.pls'
alias mlq='mplayer -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=all'


alias gr='grep --color'
alias egr='egrep --color'

alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'

Для использования алиасов из эмулятора терминала достаточно создать в ~ файл ~/.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.

2012-07-19 16:04

Когда я ставил stable debian — я подключал дополнительные репозитории так, как указано ниже. Сейчас они подключаются в smxi — по ходу дела.

2011-09-28 22:56

При установке debian получается несколько другой коленкор.

было:
/etc/apt/sources.list

# deb http://mirror.yandex.ru/debian/ squeeze main

deb http://mirror.yandex.ru/debian/ squeeze main
deb-src http://mirror.yandex.ru/debian/ squeeze main

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

# squeeze-updates, previously known as 'volatile'
deb http://mirror.yandex.ru/debian/ squeeze-updates main
deb-src http://mirror.yandex.ru/debian/ squeeze-updates main

стало:
/etc/apt/sources.list

# deb http://mirror.yandex.ru/debian/ squeeze main

deb http://mirror.yandex.ru/debian/ squeeze main contrib non-free
deb-src http://mirror.yandex.ru/debian/ squeeze main contrib non-free

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

# squeeze-updates, previously known as 'volatile'
deb http://mirror.yandex.ru/debian/ squeeze-updates main contrib non-free
deb-src http://mirror.yandex.ru/debian/ squeeze-updates main contrib non-free

# moi dobavki

deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free

Настройка GoogleDNS

Для дебиана

sudo vim /etc/dhcp/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;

Screen

Конфиг для screen

# Отключаем приветствие
startup_message off
# Включаем utf8
defutf8 on
# Использовать визуальный сигнал (мигание экрана) вместо писка динамика
vbell on
# Размер буфера прокрутки
defscrollback 1000
# Производить отключение сессии при разрыве связи с терминалом
autodetach on
# Открывать Login-шелл
shell -$SHELL
# Активировать возможность прокрутки в xterm (и других эмуляторах терминала)
termcapinfo xterm* ti@:te@
# Волшебная строка
shelltitle '$ |sh'
# Строка состояния
hardstatus alwayslastline "%{+b wk} %c $LOGNAME@%H %=[ %w ] "
# По клавише <Esc> создать окно и запустить в нем команду su
bind 33 screen -ln -t root 9 su

screen -t moc 0 mocp
screen -t mc 1 mc

Служба точного времени

2012-07-19 16:08

NTP-программа, синхронизирующая часы компьютера со временем в интернете устанавливается в «первом эшелоне».

Проверка:

ntpq -p

В выдаваемом опросе должна стоять звездочка напротив синхронизирующего сервера — если она стоит, значит все в порядке.

vik@firefly:~$ ntpq -p

  remote           refid      st t when poll reach   delay   offset  jitter
  ==============================================================================
  +ns1.infomir.com 198.123.30.132   2 u   24   64    1   24.625   -0.946   0.262
  +eye.vc.ukrtel.n 131.188.3.222    2 u   23   64    1   64.328   96.513   2.544
   jason-freebsd.l 81.17.128.133    2 u   66   64    0    0.000    0.000   0.001
  *blackbox.vc.ukr 130.149.17.21    2 u   53   64    1   62.174   47.124   1.594

Openbox

2012-07-19 16:09

tint2 ставлю из репов — в testing он относительно свежий и хорошо допиленый.

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

~/.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, «только значки»

pulseaudio

При проблемах с пульсом не забываем добавить пользователя в группы pulse, audio и pulse-access:

sudo usermod  -a -G pulse,audio,pulse-access vik

И файл /etc/asound.conf или .asoundrc в домашней папке (~/.asoundrc) со следующим содержимым:

pcm.pulse {
    type pulse
}

ctl.pulse {
    type pulse
}

pcm.!default {
    type pulse
}

ctl.!default {
    type pulse
}

В конфиге mplayer рекомендуется дописать ao = pulse

firefox сотоварищи

2012-07-19 16:30

firefox, thunderbird, seamonkey и freemind я ставлю вот по этим инструкциям

В последнее время все чаще задумываюсь про переход на seamonkey как более консервативную и стабильную систему.

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

Принтер

Настройка принтера. cups уже поставлен в первом эшелоне.

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

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

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

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

smxi и второй эшелон

2012-07-19 16:40

Раньше установка драйверов графической карты требовала массы труда и нервов — сейчас есть прекрасное средство — скрипт smxi, который лежит на http://smxi.org

Это целый комплект скриптов, которые решают разные вопросы по администрированию и тонкому допиливанию системы. Очень и очень рекомендую ознакомиться. Автор пишет о том, что начало созданию этого скрипта положили возникающие у пользователей вопросы, на которые хотелось получить сразу готовый рецепт. Поэтому скрипт занимается решением целого спектра проблем — от смены ядра на продвинутый liquorix, до чистки системы и установки свежей версии LibreOffice. На этом этапе нас будет интересовать драйвера графической карточки:

Для установки в системе должен быть unzip (он у нас есть — как раз из первого эшелона).

В режиме рута:

cd /usr/local/bin && wget -Nc smxi.org/smxi.zip && unzip smxi.zip && smxi

За установку драйверов карточки отвечает sgfxi — для его запуска придется выйти из openbox в голую консоль. А дальше — отвечаем на задаваемые вопросы, выбирая номера меню.

Я обычно запускаю smxi на самой ранней стадии установки системы и тотально пилю систему с его помощью — но это тема отдельного разговора.

все остальное

Второй эшелон софта ставится уже по своему вкусу — математические программы, игры, эмуляторы и так далее и тому подобное. LibreOffice ставится либо через smxi, либо скачиванием с сайта архива с deb-пакетами.

Если надоедает запускать openbox по startx — можно поставить slim, но мне не надоедает.

вбр, Тэнгу

Реклама

One Response to Новая шпаргалка по развертыванию openbox

  1. […] так же я поступил, когда написал большой скрипт для развертывания openbox’а — там длинный инсталл […]

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

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

Логотип WordPress.com

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

Фотография Twitter

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

Фотография Facebook

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

Google+ photo

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

Connecting to %s

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