You are not logged in.

#1 2009-11-09 13:50:19

Ghost1227
Forum Fellow
From: Omaha, NE, USA
Registered: 2008-04-21
Posts: 1,418
Website

The Console Display Manager

Fed up with the overhead of gdm and kdm, and the instability of qingy and slim, I sat down last night and began working on a project dubbed CDM - the Console Display Manager. CDM is a (relatively) full-featured display manager written in pure bash. But how many features can you put in a bash display manager? Surprisingly, quite a few!

CDM Supports:
*Multiple X sessions (user logins are all handled through tty1)
*Any DE/WM
*Configurable console logins
*Users restricted to a single environment bypass the menu on login
*Root is automatically dropped to console
*Theming
*All settings are configurable on a per-user basis

Granted, this is effectively an alpha release (and the result of a night of no sleep), so let me know if you find any problems or have any ideas!

CDM is in the AUR and the wiki!

Last edited by Ghost1227 (2009-11-09 15:05:32)

Offline

#2 2009-11-09 14:32:58

zenlord
Member
From: Belgium
Registered: 2006-05-24
Posts: 1,209
Website

Re: The Console Display Manager

THX- will try it out.

Have you tried lxdm? It is very new and aims to be what slim was until the devs pulled the plug.

Offline

#3 2009-11-09 14:35:28

Ghost1227
Forum Fellow
From: Omaha, NE, USA
Registered: 2008-04-21
Posts: 1,418
Website

Re: The Console Display Manager

Yep, not good enough yet, maybe someday tongue

Offline

#4 2009-11-09 15:15:21

hullap
Member
From: New Delhi, India
Registered: 2008-08-17
Posts: 84
Website

Re: The Console Display Manager

a feature request,
autologin

Offline

#5 2009-11-09 15:19:30

Ghost1227
Forum Fellow
From: Omaha, NE, USA
Registered: 2008-04-21
Posts: 1,418
Website

Re: The Console Display Manager

NOTE: I forgot to add one line of code that handles users trying to bypass the login manager through alternate ttys, I'll add that shortly.

Offline

#6 2009-11-09 16:05:50

Aedit
Member
Registered: 2009-10-29
Posts: 138

Re: The Console Display Manager

I just tried it out. Well done, very nice!

Just 118 lines of bash. I am glad someone finally exploded the myth that SLiM is lightweight. I mean, over 4000 lines just for a supposedly lightweight login manager?

Offline

#7 2009-11-09 16:10:54

bruenig
Member
Registered: 2007-05-20
Posts: 175

Re: The Console Display Manager

bloat

Offline

#8 2009-11-09 16:26:19

Barrucadu
Member
From: York, England
Registered: 2008-03-30
Posts: 1,158
Website

Re: The Console Display Manager

Nice idea; if I had multiple users I might use it rather than autologin tongue

Offline

#9 2009-11-09 16:48:18

anonymous_user
Member
Registered: 2009-08-28
Posts: 3,058

Re: The Console Display Manager

May someone post screenshots pretty please?

Offline

#10 2009-11-09 19:12:20

robmaloy
Member
From: Germany
Registered: 2008-05-14
Posts: 263

Re: The Console Display Manager

very nice!

some cosmetic suggestions:
1. use full paths for executables (/usr/bin/cdm)
2. make it unnecessary to mess with users' files: 'ck-launch-session startx ${xinitrc} -- :${display}" and use /etc/profile.d instead of ~/.bash_profile
         (you could create a temporary xinitrc file for that)
3. replace "bash" with "$SHELL"
4. exit the shell at tty1 after starting X

edit:
hm i guess 4. doesnt work

Last edited by robmaloy (2009-11-09 19:38:56)


☃ Snowman ☃

Offline

#11 2009-11-09 19:47:12

knedlyk
Member
From: L'viv, Ukraine
Registered: 2009-04-14
Posts: 153
Website

Re: The Console Display Manager

Cool!!!!!
Here is screenshot:
http://omploader.org/vMnFldw
tMnFldw

Offline

#12 2009-11-09 19:48:29

Ghost1227
Forum Fellow
From: Omaha, NE, USA
Registered: 2008-04-21
Posts: 1,418
Website

Re: The Console Display Manager

robmaloy wrote:

very nice!

some cosmetic suggestions:
1. use full paths for executables (/usr/bin/cdm)
2. make it unnecessary to mess with users' files: 'ck-launch-session startx ${xinitrc} -- :${display}" and use /etc/profile.d instead of ~/.bash_profile
         (you could create a temporary xinitrc file for that)
3. replace "bash" with "$SHELL"
4. exit the shell at tty1 after starting X

edit:
hm i guess 4. doesnt work

Good suggestions! I'll look into that, but it should already exit tty1 after starting X... least it does for me

Offline

#13 2009-11-09 22:45:45

ilembitov
Member
Registered: 2008-10-07
Posts: 124

Re: The Console Display Manager

Wow, that's great. Really.

Offline

#14 2009-11-09 23:25:11

Aedit
Member
Registered: 2009-10-29
Posts: 138

Re: The Console Display Manager

If you use fbterm (http://code.google.com/p/fbterm/) you could have a background image I guess.

Offline

#15 2009-11-10 00:24:06

Ghost1227
Forum Fellow
From: Omaha, NE, USA
Registered: 2008-04-21
Posts: 1,418
Website

Re: The Console Display Manager

robmaloy wrote:

2. make it unnecessary to mess with users' files: 'ck-launch-session startx ${xinitrc} -- :${display}" and use /etc/profile.d instead of ~/.bash_profile
         (you could create a temporary xinitrc file for that)
3. replace "bash" with "$SHELL"

Implemented (I think)

Last edited by Ghost1227 (2009-11-10 00:24:41)

Offline

#16 2009-11-10 00:33:06

Ghost1227
Forum Fellow
From: Omaha, NE, USA
Registered: 2008-04-21
Posts: 1,418
Website

Re: The Console Display Manager

And it works!

Offline

#17 2009-11-10 00:41:15

Ghost1227
Forum Fellow
From: Omaha, NE, USA
Registered: 2008-04-21
Posts: 1,418
Website

Re: The Console Display Manager

If anyone writes custom themes for CDM please submit them. The two I threw together aren't going to keep everyone happy. tongue

Offline

#18 2009-11-10 08:51:55

robmaloy
Member
From: Germany
Registered: 2008-05-14
Posts: 263

Re: The Console Display Manager

csm-profile.sh is still sourcing ~/.bashrc tongue

hmm i wonder why exiting tty1 didn't work for me.
i also had to "exit" twice to logout when running console

gonna check that later today


☃ Snowman ☃

Offline

#19 2009-11-10 10:42:34

Andrwe
Member
From: Leipzig/Germany
Registered: 2009-06-17
Posts: 322
Website

Re: The Console Display Manager

Sounds very interesting.
I like qingy but the framebuffers are a pain.
So I'll try cdm directly after arriving at home. *knuckles cracking*

Offline

#20 2009-11-10 11:41:33

Ghost1227
Forum Fellow
From: Omaha, NE, USA
Registered: 2008-04-21
Posts: 1,418
Website

Re: The Console Display Manager

robmaloy wrote:

csm-profile.sh is still sourcing ~/.bashrc tongue

hmm i wonder why exiting tty1 didn't work for me.
i also had to "exit" twice to logout when running console

gonna check that later today

Thanks, fixed

Offline

#21 2009-11-10 16:24:53

robmaloy
Member
From: Germany
Registered: 2008-05-14
Posts: 263

Re: The Console Display Manager

everything working like a charm now <3


☃ Snowman ☃

Offline

#22 2009-11-10 17:36:26

Andrwe
Member
From: Leipzig/Germany
Registered: 2009-06-17
Posts: 322
Website

Re: The Console Display Manager

I don't know if you'll like it but I've added a manual how you can get commands like shutdown in the menulist to the wikipage.
And I've updated the part "Configuring CDM".

Offline

#23 2009-11-10 18:00:29

Andrwe
Member
From: Leipzig/Germany
Registered: 2009-06-17
Posts: 322
Website

Re: The Console Display Manager

I've found a bug if you start an X session the session isn't started in a login shell that causes loss of e.g. umlauts for german keyboard layout (öäüß).
As a fast solution I've changed in /usr/bin/cdm

exec ck-launch-session startx /usr/share/cdm/xinitrc -- :${display} &> /dev/null &

into

exec ck-launch-session bash --login -c startx /usr/share/cdm/xinitrc -- :${display} &> /dev/null &

But this solution is bash dependent.

Offline

#24 2009-11-10 21:17:58

Arm-the-Homeless
Member
Registered: 2008-12-22
Posts: 273

Re: The Console Display Manager

Aw. I had this idea forever ago. Never got around to it. tongue

Nice job. I'm probably going to start using it in place of SLiM.

Offline

#25 2009-11-10 23:02:43

eldragon
Member
From: Buenos Aires
Registered: 2008-11-18
Posts: 1,026

Re: The Console Display Manager

nice work. gonna test it right now..


im reading the wiki, and found out the config file is in /etc/cdmrc, since everything is being migrated to /etc/name.d/something shouldnt cdm use the same hierarchy just for consistency? or am i missing something else here?

anyway, just cosmetics wink

EDIT: and....im back..... bravo. gotta love the simplicity!

im not sure if this was thought of yet, but maybe it source a per user config that should override the global one, instead of having the special settings in /etc/cdmrc, there should be a ~/.cdm/ dir with user settings.

Last edited by eldragon (2009-11-10 23:13:16)

Offline

Board footer

Powered by FluxBB