Запуск окружения рабочего стола Xfce без DM

Как то я задумался, а зафига мне вообще display manager и как обойтись без него, как обычно немного погуглил и нашел отличное решение, пользуюсь им уже 1.5 года наверное, но было лень делать заметку.


Для начала создадим файл .xinitrc в домашней директории
~/.xinitrc:
#!/bin/sh
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then
    xrdb -merge $sysresources

fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f "$userresources" ]; then
    xrdb -merge "$userresources"
fi

if [ -f "$usermodmap" ]; then
    xmodmap "$usermodmap"
fi

# start some nice programs

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
  [ -x "$f" ] && . "$f"
 done
 unset f
fi

exec startxfce4
А теперь укажем в .bash_profile на каких виртуальных терминала стартовать X сессию.
~/.bash_profile:
#start X
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx 1>~/.xsession-errors 2>&1
Здесь указано если переменная DISPLAY не объявлена и терминал = 1, то произойдет запуск графической оболочки командой startx все ошибки будут писаться в .xession-errors

Если используете fish добавьте следующее в ~/.config/fish/config.fish:
# start X at login
if status --is-login
    if test -z "$DISPLAY" -a $XDG_VTNR -eq 1
        exec startx -- -keeptty
    end
end

Не забудьте отключить или выпилить DM.

Если нужен автологин то создаем файл
/etc/systemd/system/getty@tty1.service.d/override.conf:
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin username --noclear %I 38400 linux

Комментарии ()

  1. Alex 01 октября 2019, 18:42 # 0
    Очень хорошее и годное решение. Тоже пользуюсь. Спасибо!
    Есть вопрос или предложение пиши в Telegram @cloudsv

    MTProto прokси для Telegram

    Прямой эфир

    cloudsv 12 ноября 2022, 19:16
    Установка и настройка minidlna 3
    cloudsv 03 ноября 2022, 03:42
    Настройка прокси mtproto для Telegram 52
    Роман 13 августа 2022, 05:17
    Обновление Scala Rider G4 49
    Александр 23 июня 2022, 15:29
    Подключение к VPN внутри Docker контейнера 1
    cloudsv 03 января 2022, 10:50
    Let's Encrypt это легко и просто 4
    Bot 16 августа 2021, 20:32
    Полезные боты в Telegram 1
    cloudsv 10 сентября 2020, 13:17
    MySQL Workbench падает при подключении 2
    cloudsv 05 августа 2020, 11:57
    Мне вчера стукнуло 34 4
    cloudsv 26 октября 2019, 20:11
    Linux I/O Scheduler, для кого какой? 2
    cloudsv 17 октября 2020, 09:55
    Arch Linux Отключить DHCP IPv6 в systemd 0
    cloudsv 30 июля 2020, 21:54
    О жизни Мне вчера стукнуло 34 4
    cloudsv 15 апреля 2020, 15:45
    Arch Linux Основные hotkeys редактора Vim 0
    cloudsv 01 октября 2019, 08:00
    Arch Linux Локальный редирект порта в Linux 0
    cloudsv 25 августа 2019, 16:14
    О жизни Социальная сеть от Яндекса Aura 0
    cloudsv 30 июля 2019, 21:34
    О жизни 33 year old 0
    cloudsv 25 июня 2019, 18:29
    Telegram Полезные боты в Telegram 1