.xinitrc-ru

From DSL Wiki

(Difference between revisions)
Revision as of 3 November 2009 04:57
89.169.32.66 (Talk | contribs)

← Previous diff
Revision as of 4 November 2009 19:04
89.169.32.66 (Talk | contribs)

Next diff →
Line 46: Line 46:
Если вы пользовались DSL 1.x, вы заметите некоторые отличия. Одно из существенных отличий - блок "case", который был включен в скрипт после добавления оконного менеджера [[JWM]]. Наличие этого блока позволяет пользователю запускать менеджер окон по своему выбору и приложения, которые зависят от менеджера, с помощью опций загрузки или путем редактирования единственной строки в файле /home/dsl/.desktop. Обратите внимание на то, что в разных секциях блока перечислены различные приложения. Это, например, дает возможность запускать fluxter во [[Fluxbox]], но не в JWM (где он не работает). Заметьте также, что выше блока "case" записаны команды, которые выполняются независимо от того, какой оконный менеджер используется (например, команда запуска dillo). Если вы пользовались DSL 1.x, вы заметите некоторые отличия. Одно из существенных отличий - блок "case", который был включен в скрипт после добавления оконного менеджера [[JWM]]. Наличие этого блока позволяет пользователю запускать менеджер окон по своему выбору и приложения, которые зависят от менеджера, с помощью опций загрузки или путем редактирования единственной строки в файле /home/dsl/.desktop. Обратите внимание на то, что в разных секциях блока перечислены различные приложения. Это, например, дает возможность запускать fluxter во [[Fluxbox]], но не в JWM (где он не работает). Заметьте также, что выше блока "case" записаны команды, которые выполняются независимо от того, какой оконный менеджер используется (например, команда запуска dillo).
-For great emphasis....If you want to add a command to run automatically with X, the command should be above "case" if you want it to start with either window manager, or inside the section of the desired window manager for apps that you want started only for that window manager.+Еще раз подчеркнем: команды запуска программ, которые должны запускаться в любом менеджере окон, следует писать до блока "case", а тех программ, которые должны запускаться только в одном из менеждеров - в соответствующей ветке этого блока.
-The ampersand (&) that follows many of the commands is there to allow the command to run in the background so the .xinitrc script can continue. Most applications will want this ampersand. Some commands, such as xset or xsri, run quickly and close immediately, so the ampersand is optional for these commands. The only command that you definitely do not want to follow with an ampersand is the final command that starts the window manager. If the window manager is started in the background the .xinitrc script will finish, X will close, and you'll be back to the commandline.+Амперсанд (&), который завершает многие команды, нужен для того, чтобы команда была запущена в фоновом режиме, а скрипт .xinitrc мог продолжать выполняться. Для большинства приложений этот амперсанд желателен. Некоторые команды, например, xset или xsri, быстро запускаются и сразу же завершаются, поэтому для данных команд амперсанд необязателен. Единственная команда, для которой амперсанд противопоказан, это последняя команда, которая запускает менеджер окон. Если запустить менеджер окон в фоновом режиме, скрипт .xinitrc завершится, X-сервер закроется, и вы окажетесь в режиме командной строки.
[[Category:Configuration_Files]] [[Category:Configuration_Files]]
[[Category:Russian articles]] [[Category:Russian articles]]

Revision as of 4 November 2009 19:04

   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-сервер закроется, и вы окажетесь в режиме командной строки.