.xinitrc-ru
From DSL Wiki
This page in other languages: English, español, deutsch, turkish
/home/dsl/.xinitrc
Этот скрипт выполняется при старте X-сервера и служит для запуска задач, требующих графического окружения.
Его используют для автоматического запуска X-программ, для настройки параметров X индивидуально для каждого пользователя и, разумеется, для запуска менеджера окон.
Файл .xinitrc в DSL 3.0 по умолчанию выглядит примерно так:
# put X windows programs that you want started here.
# Be sure to add at the end of each command the &
KEYTABLE="$(getknoppixparam.lua KEYTABLE)"
DESKTOP="$(getoption.lua $HOME/.desktop wm)"
ICONS="$(getoption.lua $HOME/.desktop icons)"
# For non-US Keyboards
if [ ${KEYTABLE:0:2} != "us" ]; then
xmodmap -e "clear Mod4" -e "add Mod5 = Mode_switch" &
fi
#if egrep -qv noicons /proc/cmdline 2>/dev/null; then
if [ "$ICONS" == 1 ]; then
for x in `ls -1 .xtdesktop/*.hide 2>/dev/null`; do rm -f ${x%.*}; done
iconsnap.lua &>/dev/null &
xtdesk.sh
fi
dillo /usr/share/doc/dsl/getting_started.html &>/dev/null &
torsmo 2>/dev/null &
case $DESKTOP in
fluxbox )
fluxter &>/dev/null &
wmswallow -geometry 70x80 docked docked.lua &
exec fluxbox 2>/dev/null
;;
jwm )
./.background
sleep 2
exec jwm 2>/dev/null
;;
* )
exec fluxbox 2>/dev/null
;;
esac
Если вы пользовались DSL 1.x, вы заметите некоторые отличия. Одно из существенных отличий - блок "case", который был включен в скрипт после добавления оконного менеджера JWM. Наличие этого блока позволяет пользователю запускать менеджер окон по своему выбору и приложения, которые зависят от менеджера, с помощью опций загрузки или путем редактирования единственной строки в файле /home/dsl/.desktop. Обратите внимание на то, что в разных секциях блока перечислены различные приложения. Это, например, дает возможность запускать fluxter во Fluxbox, но не в JWM (где он не работает). Заметьте также, что выше блока "case" записаны команды, которые выполняются независимо от того, какой оконный менеджер используется (например, команда запуска dillo).
Еще раз подчеркнем: команды запуска программ, которые должны запускаться в любом менеджере окон, следует писать до блока "case", а тех программ, которые должны запускаться только в одном из менеждеров - в соответствующей ветке этого блока.
Амперсанд (&), который завершает многие команды, нужен для того, чтобы команда была запущена в фоновом режиме, а скрипт .xinitrc мог продолжать выполняться. Для большинства приложений этот амперсанд желателен. Некоторые команды, например, xset или xsri, быстро запускаются и сразу же завершаются, поэтому для данных команд амперсанд необязателен. Единственная команда, для которой амперсанд противопоказан, это последняя команда, которая запускает менеджер окон. Если запустить менеджер окон в фоновом режиме, скрипт .xinitrc завершится, X-сервер закроется, и вы окажетесь в режиме командной строки.
