ananas 22.12.2012 17:31

GTKXDM и свое окно логина

начиная с версий то ли 1.9, то ли 1.10, xdm начал поддерживать динамически подгружаемые модули для диалога входа в систему. грех этим не воспользоваться. итак, довольно простой код

greeter.h

greeter.c
Makefile

сохраняем, собираем, получаем libGtkGreeter.so

полученную so-шку кладем в /usr/lib/xdm

теперь, чтобы xdm стартовал с нашим гритером, прописываем в /etc/X11/xdm/xdm-config

1
DisplayManager*greeterLib: /usr/lib/xdm/libGtkGreeter.so




аутентификация проходит через pam, поэтому понадобится еще и /etc/pam.d/xdm

1
2
3
4
5
6
7
8
#%PAM-1.0
auth required pam_unix.so
auth required pam_nologin.so
account required pam_unix.so
password required pam_unix.so
session required pam_unix.so
session required pam_limits.so
session required pam_env.so



ставим xdm как менеджер входа в систему (смотреть доки своего дистра) и получаем вполне приемлемый графический логин. выбор сессии, автодополнение имени пользователя, возможность автологина,
специальные пользователи @reboot, @poweroff, @suspend и @hibernate для останова системы и возможность кофигурировать всю эту дурь как угодно. конфиг - /etc/X11/greeter.conf - выглядит следующим образом

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[Interface]
MinUID=100
Theme=Implix
Background=
Welcome=<span font_desc="Sans Bold Italic 24" foreground="blue">Welcome to %s</span>
Welcome[ru]=<span font_desc="Sans Bold Italic 24" foreground="blue">Добро пожаловать на %s</span>
Username=<i>Username</i>:
Username[ru]=<i>Пользователь</i>:
Password=<i>Password</i>:
Password[ru]=<i>Пароль</i>:
Session=<i>Session</i>:
Session[ru]=<i>Сессия</i>:
Borders=5

[Login]
Session=ixsession
Autologin=false
Autouser=
AllowRoot=true
Path=/bin:/usr/bin:/usr/local/bin:/opt/bin:/sbin:/usr/sbin

[Actions]
Reboot="/sbin/reboot"
Poweroff="/sbin/poweroff"
Suspend="echo mem > /sys/power/state"
Hibernate="echo disk > /sys/power/state"


скриншот


Тэги: gtk xdm
+ 6 -
Похожие Поделиться

mealsforall 22.12.2012 23:13 #
Скриншотик бы?
ananas 23.12.2012 11:42 #
в понедельник
ananas 24.12.2012 21:03 #
done
dront78 23.12.2012 10:01 #
под кат бы)