Для старта CDE обычно используется dtlogin. Однако с ним в Hyperbola GNU/Linux-libre есть небольшая проблема, если выставить его запуск в openrc, то почему-то он запускается раньше tty, соответсвенно переключения между tty и даже выключение компьютера становится затруднительным.
Можно запускать dtlogin руками каждый раз от root, то есть каждый раз логинится в root. Но в этом случае dtlogin подвисает при выключении компьютера, из-за чего fsck ждет его каждый раз, то есть выключение компьютера растягивается на несколько минут. Плюс каждый раз запускать вручную выглядит утомительным.
Из-за этого был выбран запуск его через xinitrc. Делается это так:
echo "/usr/bin/startcdesession.sh" >~/.xinitrc
И в ~/.bash_profile записывается
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
if [ "x$(tty)" == "x/dev/tty1" ]
then
exec startx
fi
.bash_profile, а не .bashrc — чтобы это не выполнялось при старте графики.Таким образом, при логине через консоль в tty1 автоматически запускается startcdesession.sh, который, собственно, и запускает CDE.
