я тупой Мне просто нужно было переэкспортировать DBUS_SESSION_BUS_ADDRESS в мои окна tmux в сценарии автозапуска, когда я проверяю, запущен ли он или должен запуститься.
Итак, раздел, связанный с tmux в моем autorun.sh, теперь выглядит так:
tmux="tmux -u -f $HOME/.tmux/config -S $HOME/.tmux/socket" if pgrep -u $UID -f '^tmux.*$' &>/dev/null; then for pane in `$tmux list-windows -t0 | sed -r 's/^([0-9]+):.*/\1/g'`; do $tmux send -t 0:$pane C-c $tmux send -t 0:$pane export DBUS_SESSION_BUS_ADDRESS="$DBUS_SESSION_BUS_ADDRESS" ENTER $tmux send -t 0:$pane export DISPLAY="$DISPLAY" ENTER $tmux send -t 0:$pane C-c done else $tmux \ new -d su \; \ set remain-on-exit on \; \ neww su \; \ set remain-on-exit on \; \ select-window -t 0:1 fi
Первый C-c
- очистить строку от всего, что может остаться, перед запуском команд экспорта. Второе - очистить строку позже (tmux или bash скопируют команды в командную строку, я не знаю почему)