Имеет ли терминал-мультиплексор какую-либо выгоду при использовании с диспетчером оконной панели?

Оба терминальных мультиплексора (экран, tmux) и управляемые клавиатурой окна оконные менеджеры (ratpoison, dwm, xmonad) обеспечивают аналогичную функциональность. Есть ли польза в использовании обоих одновременно? Как насчет проблем, которые могут возникнуть?

  • Запустить стартовый крюк XMonad только при первом запуске
  • Как сделать autohide stalonetray?
  • Xmonad с клавишами fn работает
  • .xsession и .xinitrc не выполняются при входе в систему
  • Как получить доступ к клавишам numpad в XMonad?
  • Используйте кнопку ThinkVantage на linux
  • Сделайте Xmonad более стандартным способом смены уровней сдвига
  • Сохранение сеансов в файл xmonad
  • 4 Solutions collect form web for “Имеет ли терминал-мультиплексор какую-либо выгоду при использовании с диспетчером оконной панели?”

    Я использую dwm и tmux. Прежде чем научиться использовать tmux, я бы открывал несколько терминалов для разных вещей и имел их в разных тегах. Теперь я могу запускать все внутри одного сеанса tmux под одним тегом и может отсоединяться и повторно подключаться без потери состояния, если мне нужно перезапустить X.

    Дополнительное преимущество терминальных мультиплексоров заключается в том, что ваши сеансы мультиплексора все еще будут живы, и вы сможете подключиться к ним, даже если X (сеанс рабочего стола) выйдет из строя или вы вышли из X.

    Используйте оба: диспетчер оконной панели и терминальный мультиплексор.

    Объедините их возможности и преимущества, чтобы получить еще лучшую синергию. На моей установке i3 я регулярно показываю несколько терминалов одновременно, но все они подключены к одному сеансу tmux , поэтому я могу отображать все окна tmux на любом из терминалов .

    Фактически, я использую возможности i3 для черепицы, чтобы заменить / увеличить функциональность терминального мультиплексора для разбиения окон на окна (imho), чтобы получить лучшее из обоих миров.

    Нижеприведенный скрипт используется здесь для управления подключением сеанса / обнаружения и очистки при запуске терминала:

     #!/bin/bash # This script attaches the terminal to a common session, where all # terminals can show any window of the main tmux session independently # This script also cleans up "old" sessions # Todo: Cosmetic fix-ups. Make less verbose. DEBUG="y" showRun(){ echo Will run: $@;test -z $DEBUG||read -n1 -p"Press ENTER";$@; } SNAME=${1:-XyZ} if ! tmux has -t $SNAME; then echo -n "Session $SNAME not found, creating it: " showRun exec tmux new-session -s $SNAME; else echo -n "Session $SNAME found: " MySESSION=$(tmux ls | grep -E "^$SNAME:.*\(attached\)$") echo $MySESSION; if [ -z "$MySESSION" ] ; then echo "Session $SNAME unattached, seizing it:" showRun exec tmux attach -t $SNAME \; new-window else echo "Session $SNAME already attached, finding grouped Sessions:" REGEX="group ([^)]*)" [[ $MySESSION =~ $REGEX ]] GNAME=${BASH_REMATCH[1]} GSESSIONS=$(tmux ls | grep "group $GNAME)" | grep -v $SNAME:) echo "$GSESSIONS" if [ -z "$GSESSIONS" ]; then echo "No sessions in group with $SNAME found, creating new one:" showRun exec tmux new-session -t $SNAME \; new-window else FGSESSIONS=$(echo "$GSESSIONS" | grep -v attached ) if [ -z "$FGSESSIONS" ]; then echo "No free sessions in group $GNAME found, creating new one:" showRun exec tmux new-session -t $SNAME \; new-window else echo -e "Free grouped Sessions:\n $FGSESSIONS"; if echo "$FGSESSIONS" | tail -n +2 | grep . > /dev/null; then echo "Several detached Sessions found, cleaning up:" echo "$FGSESSIONS" | while read SID x ; do if [ -z $KEEPSID ]; then KEEPSID=${SID%:*}; echo "Keeping session $KEEPSID for takeover after cleanup" else echo "Cleaning up old detached session $SID" tmux kill-session -t ${SID%:} fi; done KEEPSID=$(tmux ls|grep "group $GNAME)" | grep -v attached); KEEPSID=${KEEPSID%: *} echo "Attaching to session $KEEPSID:" showRun exec tmux attach -t $KEEPSID \; new-window else echo "Free session ( ${FGSESSIONS%: *} ) found, seizing it:" showRun exec tmux attach -t ${FGSESSIONS%: *} \; new-window fi ; fi ; fi ; fi ; fi 

    Нет. В тех редких случаях, когда экран внутри экрана или tmux внутри tmux полезен, обе программы обеспечивают простое средство передачи управления вложенному экземпляру.

    Экран предлагает возможности последовательной консоли, но я просто использую специальное приложение (miniterm.py, распределенное с помощью python), когда мне это нужно. В противном случае я не могу придумать ничего из того, что может сделать, а другое не может, но можно сделать это проще, чем другое.

    Я бы изучил тот или другой, и если вам любопытно или неудовлетворено тем, что вы выбрали, попробуйте другой. Я предпочитаю tmux, лично.

    Linux и Unix - лучшая ОС в мире.