LINUX.ORG.RU

Долго запускается vim под tmux

 , ,


0

1

Дано: Ubuntu 18.04, tmux 2.6, vim-gtk3:

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Apr 10 2018 21:31:58)
Included patches: 1-1453

Проблема: vim долго стартует под tmux (больше секунды). Виновник находится достаточно быстро по --startuptime:

1001.549  1000.627: xsmp init

Это соединение с X-сессией для работоспособности буфера обмена.

Вне tmux или по vim -X или в другом дистрибутиве всё работает, как положено, а вот в убунте борода.

Лёгкий гуглёж навёл только на советы отключить иксовый буфер обмена в виме, что не рассматривается как решение. Может, сталкивался кто-нибудь из местных с этой же проблемой и имеет своё решение?

UPD: Последовательность действий перед проявлением такая:

  • Стартуем сервер tmux, создавая сессию
  • Запускаем vim — всё нормально
  • logout & login
  • tmux attach
  • Запускаем vim — задержка в секунду перед стартом
Deleted

Последнее исправление: ecko (всего исправлений: 1)
Ответ на: комментарий от xaizek

Установлена, аналогична значению вне tmux-а.

Deleted
()
Ответ на: комментарий от Deleted

Больше ничем и не оправдать его упоризм.

r3lgar ★★★★★
()

Если речь о сессии по ssh, то видимо дело вот в чём:

После того, как ты переподключаешься к сессии, xauth менятся, а в pane tmux'a остаётся предыдущей, так то и буфер работать не будет.

Иначе проблема где то ещё в твоём конфиге ибо умвр на локалхосте, а вот на удалённом да, иногда бывает залипон.

onhydro
()
Ответ на: комментарий от Deleted

На локалхосте подтвердить не могу ни с VIM, ни с NeoVim — оба запускаются моментально с твоим конфигом tmux. По ssh потестить негде.

vim -u NONE не меняет вообще ничего

ssh?

r3lgar ★★★★★
()
Ответ на: комментарий от onhydro

Если речь о сессии по ssh,

r3lgar: ssh?

Не, локалхост.

Но появились новые интересные данные: грохнул все сессии tmux, запустил заново. Запускаю vim — запускается моментально. Видимо, если разлогиниться, залогиниться и приаттачиться, то проблема снова всплывёт.

Такое уже случалось со мной где-то с год назад на другом дистрибутиве. Правда, при этом отваливался $DISPLAY, как упоминал xaizek. Сейчас $DISPLAY не слетает, но подключение всё равно тормозит.

UPD: подтверждаю, после перелогина и аттача в существующую сессию начинает тормозить.

(neovim такому не подвержен)

Deleted
()
Последнее исправление: ecko (всего исправлений: 1)
Ответ на: комментарий от votafak

Чё там комментировать? Дефолт дефолтом

Deleted
()
Ответ на: комментарий от Deleted

Там есть ещё другие переменные (XAUTHORITY и WINDOWID), у которых значение может меняться (DISPLAY скорее всего ":0" остаётся). У меня раньше такая задержка была при запуске vim из под root'а, но сейчас воспроизвести не удаётся (vim 8.1.316).

xaizek ★★★★★
()
Ответ на: комментарий от onhydro

Кстати, да. vim новый я собирал уже, а вот tmux не пробовал. Сейчас попробую.

UPD: попробовал. Не помогло даже из мастера.

Deleted
()
Последнее исправление: ecko (всего исправлений: 1)
Ответ на: комментарий от xaizek

XAUTHORITY

Тот же

WINDOWID

Как я понимаю, уникальный для каждого окна? Если так, то влиять не должно.

DISPLAY скорее всего ":0" остаётся

:0.0 (он и был изначально)

У меня раньше такая задержка была при запуске vim из под root'а

Вот из-под рута у меня и сейчас никогда задержек нет.

Deleted
()
Последнее исправление: ecko (всего исправлений: 1)

попробуй Вым из jonathonf-ubuntu-vim (там просто свежий вим собирают вместо дефолтного г мамонта в репах)
может по-другому будет (если проблема вообще в виме конечно)

mos ★★☆☆☆
()
Ответ на: комментарий от xaizek

XAUTHORITY

Кстати, содержимое файла ~/.Xauthority действительно меняется. Учитывая «MIT-MAGIC-COOKIE» в содержимом, проблема может быть действительно в этом.

Deleted
()
Ответ на: комментарий от Deleted

чот вангую шо проблема в site-side конфиге...
я б для начала сделал просто скачал лайв твоей версии бубунты поставил туда тмух и гвим и попробовал.
а пока я тмух поставлю и проверю

mos ★★☆☆☆
()
Ответ на: комментарий от mos

я б для начала сделал просто скачал лайв твоей версии бубунты поставил туда тмух и гвим и попробовал

Гм, ну, можно, конечно, но не проще ли будет просто под это нового юзера создать и играться с пустым хомяком?

Или речь не о том?

Deleted
()
Ответ на: комментарий от mos

Система поставлена вчера вечером. Всё, что было сделано — один апгрейд. Руками вне хомяка ещё не ползал.

Deleted
()
Ответ на: комментарий от Deleted

поставил.
задержка в/вне тмукса одинакова.
заметная для vim мгновенная для vim --noplugin -u /dev/null
$ tmux -V
tmux 2.6
$ vim --version
VIM - Vi IMproved 8.1 (2018 May 18, compiled Aug 22 2018 11:42:48)
Заплатки: 1-369
(из вышеозначенного ппа)
Ubuntu 18.04.1 LTS

vim --startuptime в тмуксе 002.084 001.511: xsmp init

и да у меня Убунту MATE

mos ★★☆☆☆
()
Последнее исправление: mos (всего исправлений: 1)
Ответ на: комментарий от mos

Я там выше по треду отписал. Последовательность действий перед проявлением такая:

  • Стартуем сервер tmux, создавая сессию
  • Запускаем vim — всё нормально
  • logout & login
  • tmux attach
  • Запускаем vim — задержка в секунду перед стартом
Deleted
()
Ответ на: комментарий от mos

Гуй не обязателен, но пакет нужен именно gvim-овский (у меня стоит vim-gtk3). В таком случае у консольной версии vim включается поддержка иксового буфера обмена.

В обычном пакете эта поддержка выключена. Легко проверить по выхлопу vim --version

Deleted
()
Ответ на: комментарий от mos

Ой, сорри. Не заметил, на что ты отвечал. Не, у neovim при этом иксовый буфер работает нормально

Deleted
()
Ответ на: комментарий от Deleted

я про неовим писал.

у меня вим установлен
$ dpkg -l|grep vim-gtk
ii vim-gtk3 2:8.1.0369-0york0~18.04

mos ★★☆☆☆
()
Ответ на: комментарий от commagray

Так это у Vim один gVim

1 для гтк2
1 для гтк3
1 для афины
1 для венды
1 для макососи
...
сложить для тебя?

лол

вот уж лол так лол.

NeoVim встраиваемый

ну и пусть встраивают. пока что-то самое заметное что они сделали это именно выкинули встроенный гуй))) ну и сайт конечно)))) сам Брам похвали)))
inb4 не надо мне про их достижения.

mos ★★☆☆☆
()
Ответ на: комментарий от Deleted

с командами напиши, мне лень искать как стартовать «сервер tmux»
и 3 - 4 пункт вообще не понятно. как связаны logout login и аттач? я больше к скрин привык, может чо не понимаю. если я логаутнусь из тмукса (ctrl-d) то тмукс завершится не?

mos ★★☆☆☆
()
Ответ на: комментарий от Deleted

после перелогина и аттача в существующую сессию начинает тормозить

Попробуй при аттаче переопределять ${DISPLAY} (или обнулять при детаче (не представляю, как это реализовать)?).

(neovim такому не подвержен)

У него clipboard переработали, он работает иначе.

r3lgar ★★★★★
()
Ответ на: комментарий от anonymous

и вообще развели тут вимы с тмуксами!

надо законодательно зопретидь любой софт не в брОузере!!! Всем ЭЛЕКТРОН!!! СЛАВА РОБАТАМ!

mos ★★☆☆☆
()
Ответ на: комментарий от mos

с командами напиши, мне лень искать как стартовать «сервер tmux»

1. tmux не запущен в системе вообще. Запускаем: tmux
2. Запускаем vim (vim, duh). Видим, что всё запускается мгновенно, закрываем vim
3. Завершаем сессию прямо с открытым терминалом с тмуксом внутри (команды DE-специфичны, можно потыкать мышкой)
4. Запускаем терминал. Вводим tmux list-sessions, видим, что старая сессия осталась
5. Подключаемся к ней: tmux attach -t 0
6. Запускаем вим. Теперь задержка есть.

если я логаутнусь из тмукса (ctrl-d) то тмукс завершится не?

Да, просто не это нужно сделать. Логаут нужен из иксовой сессии, а не из тмуксовой

Deleted
()
Ответ на: комментарий от r3lgar

Жобе щитает что это спаситель галереи, бо там ничего больше нет.
но по мне так пусть лучше уж как в старину с опросом)))

mos ★★☆☆☆
()
Последнее исправление: mos (всего исправлений: 1)
Ответ на: комментарий от r3lgar

Попробуй при аттаче переопределять ${DISPLAY}

А смысл? Он не меняется

(или обнулять при детаче (не представляю, как это реализовать)?)

Ну, можно было бы обнулить и вручную сделать tmux detach, только мне кажется, что дело не в этом.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.