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

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

  • Как сделать autohide stalonetray?
  • Опция вывода аудиовыхода в `pavucontrol` не изменяется автоматически при подключении наушников
  • Получить имя файла сфокусированного окна в xmonad
  • Xmonad кажется (физически) болезненным опытом
  • Xmonad: плавайте и изменяйте размеры окон до «натурального размера»
  • Не удалось перезапустить xmonad на archlinux
  • Переключить границу с комбинацией клавиш в 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, лично.

    Interesting Posts

    Сценарий оболочки: если несколько условий

    Два файла с общим полем – можно ли сортировать один на основе другого?

    Является ли сумма всех PID «utime» общей системной утилитой?

    Тайм-аут с «перезагрузкой сетевой сети»

    Множественный оператор, который включает специальные символы, используя при возникновении ошибок

    Загрузите URL из файла CSV и переименуйте файл

    network.service Не удалось запустить LSB: создать сеть вверх / вниз – Centos 7

    Предупреждения о файловых системах только для чтения при установке пакета solaris

    Помощь в том, как отображать только записи файлов для указанной пользователем папки

    systemd, как запустить службу после docker.service

    Как отправить почту с несколькими вложениями?

    В чем разница между кэшированной памятью и используемой памятью?

    Как развернуть приложение Java

    Не удалось отправить письмо с помощью mailx в Light ubuntu vmware

    Не удается смонтировать внешний hdd

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