8 июня 2010 г.

Slim (Simple Login Manager)


Программа: slim
Тип: Desktop Manager (Login manager)
Краткое описаниеписание: Независимый от рабочей среды лёгкий графический экранный менеджер с гибкими настройками
Официальный сайт: slim.berlios.de
Версия: 1.3.1-7 (27 февраля 2010)

Когда ставится дистрибутив типа Ubuntu, где всё "из коробки", о программах типа Display Manager (Экранный менеджер) обычно не задумываются: они поставляются вместе с окружением рабочего стола (gdm - с Gnome, kdm - с KDE, lxdm - c LXDE) и воспринимаются как неотъемлемая часть системы. Это тот экран, который мы видим первым при загрузке системы - в нём обычно вводится логин и пароль (если не настроен автовход для одного пользователя).
Когда же дистрибутив предоставляет только самый минимум без пользовательских програм и без какого-либо графического окружения, приходится всё ставить самому, зато изначально пользователь имеет полную свободу в этом отношении. И тут с экранным менеджером получится либо так, что он установится с одной из Desktop Environment (Gnome, KDE), либо, если устанавливается не DE, а какая-то более лёгкая альтернатива - обычно один из Windows Manager (openbox, fluxbox, fvwm и так далее), то запускать графическую оболочку придётся либо из консоли (командой startx), либо поставить Desktop Manager уже отдельно.
При этом ставить gdm или kdm не очень целесообразно - они тянут за собой немало зависимостей, к тому же ощутимо тяжелее альтернатив, а ставить нечто тяжёлое в лёгкие среды как-то совсем не логично, хотя никто, конечно, не запрещает, если кто-то захочет так сделать. Но как раз такой лёгкой альтернативой является экранный менеджер slim, или, как он ещё называется, simple login manager. В соответствии с названием, такой он и есть - картинка и поле для ввода логина и пароля.

Информации о программе в интерете немного, да в общем всё необходимое есть на официальном сайте. И настроек очень мало (а много подобной программе трудно придумать). По крайней мере для Ubuntu и ArchLinux пакет slim есть в соответствующих официальных репозиториях и устанавливается он стандартными для каждой системы способами. Я ставила в ArchLinux, поэтому, примеры будут для него.

Во-первых, как добиться, чтобы после установки грузился теперь именно экранный менеджер, а не консоль. Для этого следует отредактировать с правами суперпольователя файл /etc/inittab, а именно, закомментировать строку:

id:3:initdefault:
и раскомментировать строку:
id:5:initdefault:
А также следует проследить, чтобы в конце файла была раскомментирована такая строчка (и она должна быть единственной раскомментированной из последней секции):
x:5:respawn:/usr/bin/slim >/dev/null 2>&1
У меня эта строка уже содержалась в файле, я её не стала трогать, поэтому привожу в том же виде (вообще, в примерах встречала и без добавлений в конце)
Ну и в файле ~/.xinitrc должна содержаться строка, типа exec startfluxbox (ну или что-то подобное для запуска установленного графического окружения, иначе после ввода пароля получите ошибку, slim перезагрузится и всё).

Настройки slim хранятся в файле /etc/slim.conf. Он достаточно хорошо прокомментирован, а кое-что есть тут.
Например, можно заменить сообщение, которое появляется после ввода пароля ("Приветствие"), отредактировав строку, которая по-умолчанию выглядит так:

welcome_msg Welcome to %host
Подобным же образом заменяются сообщения для выключения и перезагурзки (строки shutdown_msg и reboot_msg.
Чтобы имя пользователя уже было вписано в окошко ввода, должна быть раскомментирована и отредактирована следующая строка (вместо username - нужный логин):
default_user username
Имя пользователя может вообще не показываться, а будет сразу предлагаться окошко для ввода пароля, если отредактировать эту строку:
focus_password yes
А можно вообще настроить автовход пользователя в систему, без ввода логина и пароля:
auto_login yes
Включение цифровой клавиатуры:
numlock on

Теперь, что касается "скрытых" возможностей. В смысле кроме поля ввода на экране ничего нет, а из экранного менеджера вроде как хорошо бы иметь возможность выключать компьютер и перезагружаться. Так вот всё просто, хотя и не очень "интуитивно понятно". Просто в поле ввода нужно напечатать "команду":

  • reboot для перезагрузки
  • halt для выключения
  • console для выхода в консоль
  • suspend для засыпания (по умолчанию закомментировано)

Данный экранный менеджер легко меняет внешний вид за счёт тем. Темы хранятся в папке /usr/share/slim/themes/, а какая из них будет использоваться, определяет строчка

current_theme themename
где на место themename нужно вписать имя директории, где лежит нужная тема.
Для предварительного просмотра, если не установлены Xorg-сервер, можно пользоваться командой:
slim -p /usr/share/slim/themes/themename
И очень приятная возможность: если указать в этой строке названия тем через запятую, то загружаться будет случайная из заданого списка.
В ArchLinux можно получить несколько тем, установив пакеты slim-themes и archlinux-themes-slim. Вот несколько из них:

Немножко тем есть на сайте программы. Да и самостоятельно нетрудно разобраться, тем более есть довольно подробное howto.

Есть возможность настроить slim на запуск нескольких графических сред, если они установлены в системе. Для этого нужно отредактировать строку sessions, перечислив там все установленные среды и поместив первой дефолтную, например:

sessions fluxbox,fvwm,peckwm
А также нужно отредактировать файл ~/.xinitrc соответствующим образом. Для верхнего примера будет так:
DEFAULT_SESSION=startfluxbox

case $1 in
fluxbox)
          exec ck-launch-session startfluxbox
          ;;
fvwm)
          exec ck-launch-session fvwm
          ;;
peckwm)
          exec ck-launch-session peckwm
          ;;
*)
          exec $DEFAULT_SESSION
          ;;
esac
Если всё сделано правильно, то переключать графические среды можно по F1.

н

7 комментариев:

  1. Мне понравилось. Пользуюсь дебианом и слакварь, самое оно!
    Спасибо :)

    ОтветитьУдалить
  2. Что то он у меня последнее время год примерно плюхается в иксы при нажатии комбинаций клавишь при чем и на openbox и на gnome, приходится на gdm сидеть хотя на 9.10 очень нравился

    ОтветитьУдалить
  3. Кстати да, надо будет проверить, как там сейчас.

    ОтветитьУдалить
  4. жесть там сечас, автомонтирование в nautilus потом не работает Not authorized пишет, так и не смог настроить, но зато в иксы теперь не плюхается, починили )

    ОтветитьУдалить
  5. Поставил на Ubuntu 11.04 - полет нормальный, только еще не придумал как объяснить, что мониторов у меня два и не надо окно логина ставить посередине. :)

    ОтветитьУдалить
  6. "Enable the slim daemon. With systemd, it is no longer possible to start slim using inittab. This can be done via the following systemctl enable slim.service"

    ОтветитьУдалить