LINUX.ORG.RU

В tmux перестали запускаться использующие иксы утилиты

 , ,


0

2

С каких-то пор начались проблемы внутри сессии tmux. В отдельном окне терминала без tmux проблем нет.

trans "$(xclip -o)" # перевести буфер обмена

Invalid MIT-MAGIC-COOKIE-1 key                                                       │                                         
Error: Can't open display: :0      

Костыли типа DISPLAY:=0 не помогают.
Что случилось и как починить?

так же было настроено копирование из внутреннего буфера tmux в иксы путём простого выделения строки текста мышью. Кажется так: tmux, выделение мышью, X буфер обмена

И это тоже перестало работать. А было очень удобно - в мане выделяю фрагмент, и тут же его перевожу.

Ответ на: комментарий от hikikomori

А если в сессии tmux выполнить xhost +local:, начинает снова работать? У меня такая фигня бывает, если разлогиниться/залогиниться в GNOME (Wayland). При этом xhost — не сильно правильное решение, но разбираться лень, а из альтернатив знаю только перезапуск tmux.

anonymous
()

было настроено копирование из внутреннего буфера tmux в иксы путём простого выделения строки текста мышью

у меня все работает, но я не мышкой выделяю

bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-pipe "xclip -i -sel p -f | xclip -i -sel c "
bind-key -T copy-mode-vi r send-keys -X rectangle-toggle
bind P paste-buffer
HomerSexual
()
Ответ на: комментарий от anonymous
$ xhost +local:
bash: xhost: команда не найдена

или где её выполнять?

Раньше такого никогда не было. Это недавно. Явно какое-то говнообновление всё поломало, а я даже не понимаю, что именно случилось.

hikikomori ★★★
() автор топика
Ответ на: комментарий от mord0d

А что это за файл? Не приходилось нужды его трогать.

  1 ^A^@^@
  2 host^@^B11^@^RMIT-MAGIC-COOKIE-1^@^PÏ^Cw<8a>eÿ<93>¯3é^Fb­Ü²£^A^@^@
  3 host^@^B10^@^RMIT-MAGIC-COOKIE-1^@^P¬´+^W(<85>Þ^SÊëDéRVY^W^A^@^@
  4 host^@^A0^@^RMIT-MAGIC-COOKIE-1^@^PIñ^K£^P§<@ë^F<9e>^[ õz=

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

или где её выполнять?

Первая и вторая ссылка в гугле:

https://linux-notes.org/utilita-xhost-v-unix-linux/

https://wiki.archlinux.org/title/Xhost

Раньше такого никогда не было. Это недавно. Явно какое-то говнообновление всё поломало

Я даже не представляю кейса, когда удаляется пакет с xhost, кроме как руки.

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

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

Пакета xorg-xhost не стояло. Почему я хз. Бомжара сама не поставила, а я про него не знал. Поставил. Ничего не изменилось. Прочитаю ссылку выше.

…прочитал. Решения не нашёл. Что я там должен был очевидного увидеть, поясните пожалуйста.

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

Поставил. Ничего не изменилось.

Естественно, от установки пакета без его запуска ничего не изменится. Смотри, что тебе аноним выше посоветовал.

Я не знаю всяких бомжар и в каком именно варианте она у тебя установлена. А ты никаких подробностей, традиционно, не даёшь. WM/DE? Xorg/Wayland?

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

Как я могу вам дать подробности того, чего не знаю? Вы спрашивайте, я скажу.

$ xhost +local:
xhost:  unable to open display ":1.0"

уже пробовал. в отдельной консоли срабатывает,в тмуксе - нет. Что с этим делать я не знаю. Поэтому пишу за советом сюда. гугель не помог. Я вообще не понимаю, зачем оно мне, если раньше без него как-то работало.

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

Как я могу вам дать подробности того, чего не знаю? Вы спрашивайте, я скажу.

Что непонятно в вопросе «WM/DE? Xorg/Wayland?». Ты же Linux используешь уже много лет, эти аббревиатуры до сих пор неизвестны для тебя?

Ладно, дальше сам, я так не могу, вытягивалка на сегодня уже всё.

Я вообще не понимаю, зачем оно мне, если раньше без него как-то работало.

Я сильно извиняюсь, конечно, но может тогда на винду или мак? Там больше дуют в… пользователя, тем более, платная поддержка есть, которые деньги получают за вытягивание данных из отчаянно сопротивляющегося пользователя :-)

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

Котик, отлично, вы растоптали и уничтожили меня как дешёвку. Причём тут общие абревиатуры? Они на что-то должны мне маякнуть?

  1. где мне почитать о структуре файла ~/.Xauthority что там вообще и нафига? Мне за много лет не приходилось с ним иметь дела, обходилось в консоли DISPLAY=: Преступление ли это, дешёвка ли я или тварь дрожащая - решать вам.

  2. В обычном терминале

$ echo $DISPLAY
:0

В сессии из-под tmux:

$ echo $DISPLAY
:1.0

Сделал

$ export DISPLAY=:0
$ echo $DISPLAY
:0

После этого xclip заработал. Но кажется, это где-то нужно сохранить, чтобы после ребута не обнулилось как пересидент.

А вот копипаста из/в иксы так и не работает. Приходится субокно ^B z разворачивать на весь экран и копипастить мышой

hikikomori ★★★
() автор топика
Ответ на: комментарий от monkdt

Автору ролика хочется пожелать стримить не весь рабочий стол, а только окно консоли с вменяемым размером шрифта. Ничего не разглядеть, кроме обоев. =(

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

Котик, отлично, вы растоптали и уничтожили меня как дешёвку.

Явно какое-то говнообновление всё поломало

Бомжара

Я вообще не понимаю, зачем оно мне, если раньше без него как-то работало.

Если ты думаешь, что это дополнительно располагает к продуктивной помощи - ну штош…

Причём тут общие абревиатуры? Они на что-то должны мне маякнуть?

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

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

в hd все видно. Но без разницы, это же только прототип, а реализация может быть очень разной. Однострочник в терминале который не особо шикарный

wl-paste | trans -b -t ru | while read OUTPUT; do notify-send «$OUTPUT»; done

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

А что это за файл?

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

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

Может, ты там в прошлой системе захардкодил случайно что-то?

Ага, «просто добавьте TERM=…/DISPLAY=… в .bashrc/.zshrc и всё заработает», как любят советовать на самых разных сайтах 😅

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

Спасибо, примерно это я понял. Но куча вопросов в голове: что там хранится за инфа? Какой-то странный формат. У меня там 3 строки, почему не 1 или не 10? Кто туда их добавляет?

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

Может ты tmux-сессию стартовал в окружении где действительно был дисплей :1.0 (например по ssh -X), а теперь пытаешься запускать что-то из неё уже закрыв ssh, но программы в соответствии с настройками пытаются подключаться именно туда. Выключи эту сессию и запусти новую, наверно всё исправится.

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

Не нужны никакие ни xauth ни тем более xhost как выше писали. (уже не первый раз кстати вижу этот вредный совет про xhost, он в современных системах почти полностью неактуален).

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

xhost действительно не нужен, а вот xauth в подобных ситуациях иногда помогает. Тем более его зависимостью сами иксы тянут, так что ничего устанавливать не надо.

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

Справедливости ради, я оговаривался, что xhost не очень хорошее решение. Но оно ещё и не помогает, по крайней мере, в моём случае :)

в современных системах почти полностью неактуален

У меня оно стало актуально, когда в GNOME подтянули какие-то гайки в XWayland, и иксовые программы в bubblewrap потеряли доступ к серверу. Хотя и здесь, наверное, есть варианты получше, но мне лень копаться.

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

Я стартовал её локально. tmux-сессия у мня автоматически запускается со стартом системы. Как сделано: https://hastebin.com/share/uduhuqifir.bash

echo $DISPLAY в сессии tmux и в обычном окне терминала = :0. Но x серверные приложения не запускаются, ошибка:

Invalid MIT-MAGIC-COOKIE-1 key
Error: Can't open display: :0

Я создал новую сессию с парой окон. Там вроде ошибки нет, но почему она возникает? Может изменились права доступа для tmux, описанные в ~/.Xauthority ? Где хранятся настройки доступа к иск сессии для tmux?

tmux new -s name   

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

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

Я просто у стал мириться с проблемой, которую не получается решить.

Не всё, что мне советуют прочитать, и что я нахожу сам может дать прикладной ответ. Чаще это нечто трудноперевариваемое. Вот я нашёл ещё чтива, но мои вопросы только умножились новыми.

https://www.x.org/archive/X11R6.8.2/doc/Xsecurity.7.html https://stackoverflow.com/questions/37157097/how-does-x11-authorization-work-mit-magic-cookie

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

Но x серверные приложения не запускаются, ошибка:

Ты выше писал, что после прописывания DISPLAY=:0 xclip заработал, а теперь пишешь что не работают - уточни. Или работает только xclip а остальное нет?

Где хранятся настройки доступа к иск сессии для tmux?

Берутся из того места, где ты её запустил. Проблемную сессию ты видимо запустил не из иксов, или не из тех иксов, где сейчас.

Открой в проблемном tmux-е новую чистую вкладку, сделай в ней

echo $DISPLAY ; echo $XAUTHORITY; echo $HOME; id -u
и потом сделай то же самое в сессии где всё работает.

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

Не нужны никакие ни xauth ни тем более xhost как выше писали. (уже не первый раз кстати вижу этот вредный совет про xhost, он в современных системах почти полностью неактуален).

Получается зря я его установил, снести?

@Dimez, @anonymous, прокоментируете?

hikikomori ★★★
() автор топика