У tmux есть все функции, которые есть у экрана? А эти скриншоты отсутствуют?

8

Я подумываю о переходе с screen на tmux, но я потратил много времени на разработку обширного .screenrc и не хочу после многих часов переносить его на tmux, что tmux не может сделать что-то важное мне.

Я просмотрел несколько онлайн-сравнений этих двух, и ни один из них не углубился в подробности и не ответил на многие важные для меня (что для меня) важные вопросы, которые можно свести к двум вопросам:

  • Есть ли что-то существенное, что экран может сделать, что tmux не может сделать?
  • Есть ли что-то существенное, что tmux может сделать, что экран не может?

(Архитектура клиент-сервер хороша, но, насколько я вижу, не дает никаких новых возможностей . Лицензия, очевидно, лучше. Меньше и меньше, очевидно, приятно, но для меня это не изменит меня.)

Поскольку эти два вопроса очень широки, позвольте мне привести несколько конкретных примеров:

  • Есть ли у tmux полная история команд? (Для команд, отправляемых непосредственно в tmux, а не для команд оболочки. Это то, чего не хватает на экране: Как вернуться в историю команд экрана (GNU)? (НЕ в историю команд оболочки!) )
  • Я предполагаю, что могу связать ключи с командами tmux?
  • Я предполагаю, что мой файл конфигурации tmux может быть источником других файлов?
  • Могу ли я связать нажатие клавиши с исходной командой, чтобы я мог легко динамически изменять свою конфигурацию?
  • У tmux есть настройки ACL? (Я никогда не нуждался в них на экране, но приятно знать, что они там.)
  • Может ли tmux открывать окна по умолчанию? (а-ля screen -t somename 1 ssh someserver)

Я мог бы самостоятельно найти ответы на эти конкретные вопросы, но это всего лишь примеры двух больших вопросов, и я также хотел бы услышать ответы на более крупные вопросы, которые не обязательно соответствуют ни одному из моих примеров. Вполне возможно, что если в tmux чего-то не хватает, я не обнаружу этого, потратив много времени на переключение, и это то, чего я хочу избежать. Спасибо!

иконоборец
источник

Ответы:

1

Я не знаю ответа на все ваши вопросы от руки, но я сделаю то, что могу.

Самым большим для меня является GNU-экран, разделение разделяет ваш вид, так что вы можете просматривать различные экраны (например, экран 1 и 2, или даже экран 1 и 1). В tmux разделение разделяет сам экран, поэтому у меня может быть экран 1 и 2, но экран 1 имеет 4 разделения (4 разных терминала). Вы не можете сделать это в gnu-screen без патчей.

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

set -g prefix C-a 
setw -g mode-keys vi
unbind C-b 
bind a send-prefix
bind v split-window -v
bind h split-window -h
bind S split-window
bind Escape copy-mode
bind C-a last-window
bind C-d detach
bind A command-prompt "rename-window %%"

tmux также может открывать окна по умолчанию, используя tmux.conf, например:

new -d -n "window1"
neww -d -n "window2"
neww -d -n "window3"
казарка
источник