Настройка и работа в Linux

         

Инициализация при входе в систему графического рабочего стола


Если мы перезагрузим компьютер, то процесс init автоматически войдет в систему пользователем fred на первой виртуальной консоли и запустит командную оболочку -- шелл. Однако для запуска графического рабочего стола пользователь fred по-прежнему должен набрать команду startx сам, путем личного нажима на клавиши. Можно ли автоматизировать и это?

Если fred при входе в систему загружает оболочку /bin/bash, то первыми будут выполнятся команды, перечисленные в файле ~fred/.bash_profile. Вы можете добавить команду startx туда, но это вызовет проблемы, т.к. .bash_profile используется и в других ситуациях, таких, как вход в систему со второй виртуальной консоли или при открытии xterm. Вместо этого мы добавим в .bash_profile следующие строки:

if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then startx fi

При каждом новом заходе в систему с первой виртуальной консоли будет автоматически запускаться графический интерфейс. Окружающие операторы гарантируют, что сеансы, запускаемые из среды графического рабочего стола или из других виртуальных консолей, не будут немедленно запускать новую графическую Х-сессию. Пользователям /bin/sh следует добавить эти строки в ~fred/.profile, а пользователям tcsh нужно конвертировать их в эквивалентный скрипт для csh.

Если GUI уже запущен (через xdm, gdm, kdm и т.д.), то следует выполнить команду startx-:1. Она создаст вторую GUI-сессию. Если Вам нужна только один активный графический десктоп, то лучше отключить существующий экземпляр Xserver'а уменьшив уровень выполнения [run level] (в RedHat) или отключив [unlinking] конфигурационные файлы /etc/rc?.d/S99?dm (в Debian).



Содержание раздела