~/.xinitrc

Понял. И для запуска WM/DE достаточно следующего?

## Here fluxbox is kept as default
session=${1:-fluxbox}

case $session in
    awesome           ) exec awesome;;
    bspwm             ) exec bspwm;;
    catwm             ) exec catwm;;
    dwm               ) exec dwm;;
    enlightenment     ) exec enlightenment_start;;
    fluxbox           ) exec startfluxbox;;
    gnome             ) exec gnome-session;;
    gnome-classic     ) exec gnome-session --session=gnome-classic;;
    i3|i3wm           ) exec i3;;
    kde               ) exec startkde;;
    mate              ) exec mate-session;;
    notion            ) exec notion;;
    openbox           ) exec openbox-session;;
    spectrwm          ) exec spectrwm ;;
    xfce|xfce4        ) exec startxfce4;;
    xmonad            ) exec xmonad;;
    # No known session, try to run it as command
    *) exec $1;;
esac

А вот так, как ниже, наверное, уже делать не надо?

## Run a window manager

     DEFAULT_SESSION='i3'

 get_session(){
     local dbus_args=(--sh-syntax --exit-with-session)
     case $1 in
         awesome) dbus_args+=(awesome) ;;
         bspwm) dbus_args+=(bspwm-session) ;;
         enlightenment) dbus_args+=(enlightenment_start) ;;
         fluxbox) dbus_args+=(startfluxbox) ;;
         i3|i3wm) dbus_args+=(i3 --shmlog-size 0) ;;
         lxde) dbus_args+=(startlxde) ;;
         lxqt) dbus_args+=(lxqt-session) ;;
         openbox) dbus_args+=(openbox-session) ;;
         spectrwm) dbus_args+=(spectrwm) ;;
         *) dbus_args+=($DEFAULT_SESSION) ;;
     esac

     echo "dbus-launch ${dbus_args[*]}"
 }

 exec $(get_session)
Не могу уловить значение выражения:
R.V.
session=${1:-fluxbox}
Оно справедливо, если вы вызываете скрипт без ввода $1, тогда по дефолту session=fluxbox.
Проще просто определить session=fluxbox, но тогда какой смысл в операции выбора, если вы руками прописываете значение переменной? Лучше:
read -p "Enter session: " sesion
Где-то недавно была тема об этом.
Во втором выхлопе у вас все закомментировано, т.е. считайте что там ничего нет.

ЗЫ. Как вы вообще стартуете иксы?
Согласен с Вами полностью. В первом случае смысла мало.
Но это по аналоги из ArchWiki. Возможно, там не самая актуальная информация.
Если мы разберемся с этим поподробнее, будет полезно всем.

Во втором случае исправил "выхлоп".

Иксы стартую так:

startx -- -keeptty -nolisten tcp > ~/.xorg.log 2>&1
Ага, я никогда этим не страдал, поэтому дошло с третьего раза... )
Тогда делайте по вики и дело с концом. Нюанс: в таком виде у вас не сработает автостарт иксов.

R.V.
Возможно, там не самая актуальная информация.
Актуальная.

R.V.
Иксы стартую так:
startx -- -keeptty -nolisten tcp > ~/.xorg.log 2>&1
Зачем так наворочено? Можно же проще:
$ xinit
$ xinit gnome
$ xinit kde
$ xinit wmaker
и т.д.

Ок. ))

И последний вопрос по теме...
Нужно ли в настоящее время в ~/.xinitrc что-то вроде этого?

if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
       eval `dbus-launch --sh-syntax --exit-with-session`
fi
Откуда вы берете эти примеры? Есть дефолтный /etc/X11/xinit/xinitrc, от него и отталкивайтесь. У мну:
if [ -d /etc/X11/xinit/xinitrc.d ]; then
  for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
  done
  unset f
fi
setxkbmap us -option grp:ctrl_shift_toggle,grp_led:scroll,compose:ralt,keypad:pointerkeys
xset -b s 300 +dpms dpms 600 0 0 m 1 4 +fp ~/.local/share/fonts/
xinput set-prop 11 277 -.5
xrdb -merge ~/.Xresources
urxvtd &
[ -f /tmp/.i3stat_notify ] || echo winname > /tmp/.i3stat_notify
exec i3
и все.
Пример даже уже здесь на форуме нашел, вот. В общем понял, что если и так все работает, то и не нужно. )
В связи со свежим обсуждением dbus-launch --sh-syntax --exit-with-session надо в этом топике на память оставить следующее.
Если прочитать внимательно man dbus-launch :)), то получается что любой WM надо запускать так:
dbus-launch --sh-syntax --exit-with-session awesome
то есть, вообще, без "exec".

На практике работает и соответствующие процессы запускаются.
Только непонятно, почему об этом умалчивает ArchWiki.
R.V.
Только непонятно, почему об этом умалчивает ArchWiki.
Потомучто запуск dbus-launch подразумевает работу в изоляции от основного dbus-demon который запускает systemd. И для большинства смысл в этом отсутствует.
Ошибки в тексте-неповторимый стиль автора©
 
Зарегистрироваться или войдите чтобы оставить сообщение.