Команды tmux и screen


1 minute read

image-center

Ввиду того, что у меня несколько сервисов и серверов на Raspberry Pi, после перезагрузки и включения этого устройства мне приходилось тратить некоторое время на то, чтобы всё поднять.

Решением этой проблемы оказалось использование команды screen, с помощью которой можно запускать заданные скрипты и программы при включении устройства1.

До этого я всегда пользовался tmux, но его так настроить нельзя – нужно было именно логиниться в устройстве, чтобы все прописанные программы запустились в tmux-сессиях.

Про tmux:

  • Создать новую сессию:
    tmux new -s <name>
    
  • Cкрыть сессию (выйти из неё): Ctrl+B затем D
  • Список сессий:
    tmux ls
    
  • Присоединиться к сессии:
    tmux a -t <name>
    
  • Закрыть сессию: Ctrl+B затем X

Про screen:

  • Запустить команду в фоне:
    screen -dmS <screen_name> "<command>"
    
  • Запустить последовательность команд в фоне:
    screen -dmS <screen_name> bash -c "<command1>; <command2>; <command3>;"
    
  • Cкрыть сессию (выйти из неё): Ctrl+A затем D
  • Список сессий:
    screen -list
    
  • Присоединиться к сессии:
    screen -x <screen_name>
    
  • Закрыть запущенную программу в окне <screen_name>:
    screen -S <screen_name> -X quit
    

  1. Про запуск скриптов и программ в фоне в репозитории homebridge
  2. Подробнее про команду screen на Ubuntu
  3. tmux vs screen на Reddit’e
  1. Про запуск скриптов и программ в фоне в репозитории homebridge 

Leave a Comment