Pull to refresh

Comments 50

Мышь поддерживает? Например, меню в mc можно выбрать кликом мыши. В screen это не работает. Что насчёт tmux?
В screen как раз работает. А вообще tmux с ncurses приложенниями работает паршиво.
В screen не работает. Во всяком случае если mc собран с S-Lang, насчет ncurses не в курсе.
export TERM=xterm
и всё в шоколаде…
панель меню тогда поганится в mc. наполовину черная становится и некоторый пункты черным по черному написаны.
ах да. тема не стандартная и на 256 цветов.
дык
export TERM=xterm-256color
Частично поддерживает. Например опция mouse-select-pane позволяет панели мышкой переключать.
Есть ещё mode-mouse, но я не пользуюсь.
Скажем так, он умеет событие «щелчок мыши» обрабатывать, но передавать его в терминал — не умеет.
¿а это что значит:
"""- tmux has a multiple paste buffers. Not a major one but comes in handy quite a lot."""
В виме у меня мышь работает по крайней мере.
Итак поковырялся с mc… вобщем тут такое дело… просто назначение переменной
export TERM=xterm-256color не поможет обрести поддержку мыши в mc.

(25.08.2011) andrew_b: Если при старте Gpm_Open() возвращает (-1), то enable_mouse = FALSE.
(25.08.2011) andrew_b: В скрине и тмуксе это так и есть.
(25.08.2011) andrew_b: Поэтому мышь не обрабатывается.
(25.08.2011) andrew_b: Её как бы нет.


после этого я проверил как оно себя ведёт в случае если не проверять Gpm_Open…

вобщем если enable_mouse переделать вот так

void
enable_mouse (void)
{
    if (mouse_enabled)
        return;
        
    /* save old highlight mouse tracking */
    printf (ESC_STR "[?1001s");

    /* enable mouse tracking */
    printf (ESC_STR "[?1000h");

    fflush (stdout);
    mouse_enabled = TRUE;

}


то поддержка мыши будет… но надо еще
export TERM=xterm-256color

на эту тему есть тикет www.midnight-commander.org/ticket/2479
как быстро появится правильный патч и войдет в апстрим не скажу, надо с проблемой ковыряться еще… и более тщательно…
Я у себя решил проблему следующим образом (теперь пребываю в нирване)
1) декомилил терминфо от screen: infocmp -aI screen
2) во второй строчке поменял имя терминала с screen на rxvt-tmux
3) скомпилил через tic -a
4) TERM установил в rxvt-tmux

пункты 1...3 можно заменить на

ln -s /lib/terminfo/s/screen /lib/terminfo/r/rxvt-tmux

что начало работать (из-под putty):
1) Мышка
2) стрелки\курсор\функциональные\home-end
3) BCE! — Background Color Erase… теперь бекграунд нормальный… разница как бы чувствуется:
image
4) home-end работают в nano
5) цвет.

Внезпано, это работает только если вначале rxvt… У курсей и rxvt какая-то особенная любовь.
В чем его отличие, или какие преимущества по сравнению со screen?
С этого начинается их FAQ.
Там много. Окошки можно привязывать к нескольким сессиям, перекидывать их между сессиями; всякие улучшения интерфейса, те же панельки. Конфигурироемость на любой вкус.
Вменяемый конфигурационный файл в отличии от скрина.
Для меня основное практическое отличие это то что по умолчанию при совместном подключении сессия общая, т.е. окна переключаются совместно у всех. до tmux мы пользовали скрин для пэиринга по ssh/skype и одной из самых частых фраз была: «а ты в каком окне сейчас колбасишь?» ;)
А кириллица, кириллица… В Mac OS X Lion с ней все паршиво :(
А еще есть byobu(клон скрина), мне для управления домашним сервером хватает вполне и красивости есть по сравнению со скрином.
Распространенное заблуждение. Из мануала:
byobu — wrapper script for seeding a user's byobu configuration and launching screen
это кстати лучший повод минусануть… От того что это скрипт, менее интересным он не становится. Наверняка есть люди кто не знал. Но ведь истина важнее да?
Этого, кстати, достаточно для повседневного использования. Спасибо.
Использую на ПК, на котором программирую, вместо WM. Иксы не нужны, это очевидный плюс. Удобный этот tmux.
Недавно добавил следующее в .bashrc на сервере:
if [ $TERM != "screen" ]; then
  ( (tmux has-session -t remote && tmux attach-session -t remote) || (tmux new-session -s remote) ) && exit 0
  echo "tmux failed to start"
fi
Доволен как слон.
Подскажите новичку что означает сей код?
Если сессия запущена не через Screen, то запускаем tmux и выходим. Если по какой то причине не вышли, то выведется надпись «неполучилось».
А еще можно организовать удаленное парное программирование. Для этого достаточно обоим подключится к одной и той же сессии tmux с запущенным vim, ну и voip для общения.
в eclipse это можно делать через jabber. К сожалению не нашел пруф. На видео этого плагина показывали как программисты общаются и правят один и тот же файл в реалтайме, но будучи тогда школотой, не смог настроить это дело.
мне screen не нравится только одним, он не меняет DISPLAY при подключении с разных компутеров. если запустил screen локально, а потом к этой сессии подцепляешься удаленно, то иксовые приложения не находят правильный Х-сервер. в tmux
есть поддержка скриптов, по идее настройка должна быть возможна. кто-нить сталкивался?
>а потом к этой сессии подцепляешься удаленно, то иксовые приложения не находят правильный Х-сервер. в tmux

конечно. переменные окружения внутри процесса не меняется от того, кто смотрит на его вывод.
это я понимаю. я понимаю почему оно не работает, я понимаю как это можно исправить (задать «правильный» DISPLAY для вновь созданного окна), но в screen такой возможности не нашел. и я спрашивал про подобную ситуацию в tmux.

а так-то конечно спасибо, что поделились своими знаниями.
>я понимаю как это можно исправить (задать «правильный» DISPLAY для вновь созданного окна), но в screen такой возможности не нашел

как адский костыльрешение срадствами скриптов — при создании нового окна, а наверное даже процесса оболочки, можно попробовать залезть в /proc/$(pidof screen)/environ и вытащить оттуда.
tmux мощный оконный менеджер, намного мощнее screen.
Но одну вещь я так и не смог в нем настроить. Дело в том, что большую массу времени я провожу в vim, в котором мне нужна клавиша Tab, на которую забиндено много полезных действий, таких как навигация по табам, автодополнение сниппетов и прочее. Если при нажатии на Tab происходит перемещение фокуса вперёд, то при Shift-Tab — перемещение назад. Но tmux, т к запущен над vim-ом, перехватывает нажатие Shift-Tab.
Если кто-то сталкивался с такой проблемой, поделитесь кусочком .tmux.conf
Мне кажется, что комбинация ctrl-a намного удобнее чем ctrl-b.
только если нет привычки к emacs-keys в шелле
У меня подвисает сессия tmux при вводе любой команды в консоли. Правда у меня FreeBSD
[00:21]domen@server:~ $ uname -r
6.2-RELEASE-p11

Подскажите пожалуйста, возможно кто либо сталкивался, есть ли возможность перенести панель из одного окна в другое и поменять панели местами в одном окне. Мануал читал.
Поменять панели местами в одном окне — Cntrl+B Cntrl+o.
а вот чем лично для меня удобнее screen, это то, что
Ctrl-A удобнее нажимать одной левой рукой, нежели Ctrl-B
В пользу Ctrl-B, в шеле Ctrl-A используется для перехода в начало строки. А вообще как говорится на вкус и цвет…
… все фломастеры разные!
а как у него с буферизацией вывода?
в screen вот stderr иногда залипает.
Если кому либо надо немного более чем шпаргала, то подробнее довольно давно описывал в своём блоге.
Кстати, еще полезная штука:
Ctrl+b Ctrl+(→|←|↑|↓) — изменение размеров панели
Ctrl+b Alt+[1-5] — выравнивание панелей по-всякому. Мне очень помогло.
Странно, у меня изменять размеры панели: Ctrl+b Alt+(→|←|↑|↓)
Ctrl+b Ctrl+(→|←|↑|↓) от Ctrl+b Alt+(→|←|↑|↓) отличается тем, что первый при шаге меняет размер на одну ячейку, а второй — сразу на пять.
Sign up to leave a comment.

Articles