Qingy - "менеджер дисплеев", логин менеджер, и замена agetty

Март 1, 2010

Недавно, я решил снести со своего нетбука archlinux, который на мой взгляд, солидно на нём глючил, и поставить на него gentoo. Мне просто жуть как не хотелось ставить slim или какой либо другой логин менеджер, но и без них было весьма туго, ибо я параноик. Мало ли что: достаточно нажать ctrl-alt-f1 и ctrl-c для того чтобы убить X сессию, и получить шелл. Конечно, прав рута не будет, но и без них можно было дел натворить :) Но сейчас не об этом. Как я уже написал, ставить slim или какой либо другой login manager, я не хотел. Поэтому после большого количества упоминаний о qingy, было решено попробовать сие чудо.

Qingy это замена для стандартного agetty. Причём, qingy использует весь потенциал framebuffer'а, благодаря чему ещё и выглядит приятно. Кроме того, есть ещё пара полезных и приятных мелочей (а может это не мелочи вовсе), как например удобный запуск нескольких X сессий. Выглядит это примерно так: когда вы загружаетесь, перед вами появляется agetty на первой tty консоли, который предлагает ввести логин и пароль. После их ввода, вы попадаете в свой терминал, и оттуда, уже делаете необходимые операции или запускаете X сессию которая занимает 7 консоль непосредственно для X сессии, и первую консоль, из который был произведён их запуск. В случае с qingy, после ввода пароля, можно либо запустить сразу X сессию, либо попасть в терминал. Причём, если «запустить иксы», то они так и останутся на первом терминале. На мой взгляд, это крайне удобно :) Можно нажать ctrl-alt-f2, и зайти под другим пользователем, или запустить другой wm например.

Чтобы использовать qingy, нужно его для начала поставить:

emerge qingy qingy-themes

После чего, нужно открыть с правами супер пользователя файл /etc/inittab, и заменить в нём строки:

# TERMINALS
c1:12345:respawn:/sbin/agetty 38400 tty1 linux
c2:2345:respawn:/sbin/agetty 38400 tty2 linux
c3:2345:respawn:/sbin/agetty 38400 tty3 linux
c4:2345:respawn:/sbin/agetty 38400 tty4 linux
c5:2345:respawn:/sbin/agetty 38400 tty5 linux
c6:2345:respawn:/sbin/agetty 38400 tty6 linux

На такие:

c1:12345:respawn:/sbin/qingy tty1
c2:2345:respawn:/sbin/qingy tty2
c3:2345:respawn:/sbin/qingy tty3
c4:2345:respawn:/sbin/qingy tty4
c5:2345:respawn:/sbin/qingy tty5
# Шестую консоль оставляем с agetty на всякий случай ;)
c6:2345:respawn:/sbin/agetty 38400 tty6 linux

После всех этих нехитрых манипуляций, после следующий перезагрузки везде будет qingy вместо agetty, и всё должно прекрасно работать.

Если говорить о красоте, то для framebuffer'а, qingy выглядит просто прекрасно, если не божественно =] Скриншот выкладывать не буду, ибо у меня «дефолтная» тема под названием Gentoo. Отправлю в галерею тем, там можно посмотреть внимательнее - ссылко!. Думаю, там многие найдут тему, которая им по душе. Так же, в qingy есть аскетичный текстовый интерфейс. Кто-то, возможно, предпочтёт именно его. Думаю, делать скриншот обычного предложения ввода пароля, и списка с доступными опциями (запуск X сессии, в терминал и прочее) не требуется :)

Темы qingy находятся в /usr/share/qingy/themes.
Конфиг qingy находится в /etc/qingy/config, и он хорошо документирован, поэтому не вижу смысла пересказывать все его опции.

Кстати, с помощью qingy, можно так же настроить и автовход, и запуск X сессии, что тоже крайне удобно, и заметно безопаснее других способов «автоматического запуска иксов».

Enjoy ;)

Похожие записи:

  1. Терминальный оконный менеджер Tmux
  2. Rexima - замена Alsamixer'у в духе vim
  3. Создание зашифрованных архивов
  4. Монтирование удалённых FTP и Samba директорий в локальную
  5. Redshift - как уберечь свои глаза

Тэги: , , , , , , ,
В категориях: Linux by bosha

20 Комментариев к "Qingy - "менеджер дисплеев", логин менеджер, и замена agetty"

  1. void написал:

    А можно поподробнее про Ctrl+Alt+Del и попадание в шелл? Как я понимаю, опасение вызывает попадание в шелл постороннего человека, получившего физический доступ к компьютеру. Но ведь он может запустить шелл и под иксами! А может и не получить шелла даже при выходе из Х-сессии - просто запускать иксы коммандой `startx; exit`.

    Но qingy безусловно красивее, чем agetty :)

    [Ответить]

    bosha Отвечает:

    Предположим, что ты оставил нетбук на работе, и отошёл в туалет. У меня стоит xscreensaver который блокирует экран через пару минут, но его легко обойти нажав ctrl-alt-f1, и попав в терминал с иксами, откуда их можно убить. и получить шелл. Вот такой вот я, параноик :)

    [Ответить]

    void Отвечает:

    Ну ок.

    А этот способ с "startx; exit" в ~/.bashrc можно как-то обойти, как считаешь? Мне кажется, что да, но пока не придумал как...

    [Ответить]

    bosha Отвечает:

    В теории можно всё, но как, я не знаю.

    [Ответить]

  2. void написал:

    Во, как раз в чьем-то блоге в твоих ссылках обнаружил пост в тему:
    http://thenixer.blogspot.com/2009/11/my-radical-ascetic-replacement-for-slim.html

    Только в его варианте я получу-таки шелл, завершив процесс startx аварийно, потому что exit выполнится только при нормальном завершении startx.

    [Ответить]

    bosha Отвечает:

    Ага. Это даже мой знакомый :)

    [Ответить]

  3. selivan написал:

    По-моему лучше делать в .bash_profile так:

    if [ $(tty) == 'dev/tty1' ]
    then
    startx
    vlock
    fi

    Вместо vlock можно exit, но так ИМХО логичнее: умерли иксы - сиди и разбирайся почему :) Проблем с безопасностью не вижу

    [Ответить]

    bosha Отвечает:

    А если не нужен автологин? Убивать иксы и запускать снова? По мне, так не очень удобно. Так что это не лучше. а я бы сказал что совсем другое :)

    [Ответить]

  4. tchgefest написал:

    У меня такой вопрос:
    Поставил,исправил,но когда
    Вводишь логин,то получается как эхо,то есть
    user пишется вот так uusseerr
    соответственно и пароль также,не подскажите как
    исправить это

    [Ответить]

    bosha Отвечает:

    А режим вывода текстовый или framebuffer? Есть предположение, что графическая подсистема в этом режиме, не тянет. Либо разрешение высокое либо ещё что-то. Т.е. мне кажется, что это простые тормоза. Надо попробовать сменить разрешение в консоли..

    [Ответить]

    Damon Отвечает:

    > user пишется вот так uusseerr

    Была такая же ситуация, упарился решение искать, нашел здесь -- http://wiki.archlinux.org/index.php/Qingy

    "Qingy (and quite possibly other DirectFB applicationss) has some issues using Synaptics touchpad. Also the keyboard can behave strangely (like if each keys were pressed twice).

    This can be solved by adding:

    disable-module=linux_input

    to /etc/directfbrc. If the file does not exist, create it."

    Работает, однако...

    Единственное дополнение: поскольку я сам DirectFB собирал, указав --prefix=/usr, данный файл у меня, соответственно, пришлось создавать в /usr/etc, т.ч. внимательнее.

    [Ответить]

  5. tchgefest написал:

    Вы думаете,что это
    kernel /boot/vmlinuz26 root=/dev/sda2 ro vga=773
    Не тянет,это установлено в grub

    [Ответить]

    bosha Отвечает:

    Возможно. Попробуйте удалить vga=773. Если не поможет - можно всегда дописать снова.

    Если это не поможет, то я даже не могу предположить в какую сторону смотреть..

    [Ответить]

  6. MinimumLaw написал:

    Хм... Нда... Дожили...
    man nohup для решения проблемы штатными средствами

    [===cut from here===]
    login: user
    paswword:

    [user] $ nohup startx &
    [user] $ CTRL-D

    login:
    [=== cut to here===]

    Всего-то навсего....

    [Ответить]

    bosha Отвечает:

    Нет, ну. Я не понимаю, все читают начало? :)

    Qingy несколько больше, чем просто способ обезопасить шелл от посторонних ;)

    [Ответить]

  7. tuxic написал:

    в .bash_profile
    добавляете в конец exec startx и при любом раскладе "хакер" попадет лишь в голую консоль с приветствием ввести логин

    [Ответить]

    bosha Отвечает:

    Прям чуть чуть выше, написал как раз на эту тему. Могу повториться :) Qingy, это большее, чем просто способ обезопасить шелл =)

    [Ответить]

  8. Noktoborus написал:

    [18:40:44]#pts/3(1)% cat .zlogin
    if [ -z $SSH_CLIENT ]; then
    # local login
    if [ -z `pgrep xinit` ]; then
    echo -n "start x11 in ";
    for q in 3 2 1; do
    echo -n ${q}"... "
    sleep 1
    done
    echo ""
    sh -c 'sh -c "exec /usr/bin/env xinit" &'
    clear
    echo -n `date`
    logout
    fi
    fi

    после авторизации ожидает 3 секунды (если Xorg не запущен) и запускает Xorg, после чего тут же логаутится
    $SSH_CLIENT - проверка на ssh-сессию, неприятно когда по удаленке заходиш на бук, и внезапно стартуют иксы :)

    [Ответить]

    bosha Отвечает:

    Тоже полезно, когда нужен просто автостарт исксов =)

    [Ответить]

  9. sqborev написал:

    Я хотел бы в каждом терминале выводить отдельное приложение, чтобы смотреть его логи отдельно от других.
    Как это реализовать? и Нужно ли пользоваться автологином для этого?

    [Ответить]

Оставить комментарий