elfmz / far2l

Linux port of FAR v2
GNU General Public License v2.0
1.78k stars 173 forks source link

Буфер обмена Убунту 22.04.1 #1350

Closed backinussrname closed 2 years ago

backinussrname commented 2 years ago

Вставляет в фар нормально, при копировании из, что то странное, например при вставке скопированного из фар в либре офис документ выходит ошибка "Запрошенный формат буфера обмена недоступен"

elfmz commented 2 years ago

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

backinussrname commented 2 years ago

После сегодняшнего обновления работает! Ура товарищи! Собственно проблема изначально была не с либре оффис, а с рдп клиентом remmina, сперва думал проблема в ней, но проверил оффисом, и тогда оказалось что проблема в копировании из фар. Система свежеобновлённая 20.04 -> 22.04. Сейчас и в либре оффис и в remmina работает.

peter15914 commented 2 years ago

Есть некоторое уточнение по поводу данной проблемы.

Проблема появилась после обновления Ubuntu 20.04 -> Ubuntu 22.04.1.

Вот что было до исправления https://github.com/elfmz/far2l/commit/5ab97bbb16ba5b991e589bc1414f5cfd83c2d3a6: 1) После копирования в буфер обмена из far2l не вставляет в некоторые программы: LibreOffice (выводит ошибку), Telegram Desktop (просто не вставляет); 2) Во многие программы нормально вставляет (Chrome, Visual Studio Code, прочие); 3) Для некоторых программ портится кодировка для русского текста (Firefox, QtCreator, Konsole); 4) xclip нормально выводит содержмое (xclip -o -selection clipboard -t STRING)

То есть это не проблема конкретно LibreOffice.

После исправления на первый взгляд всё стало хорошо, кроме того, что вставка в Telegram Desktop по-прежнему не работает.

backinussrname commented 2 years ago

У меня в Telegram Desktop нормально копирует.

unxed commented 2 years ago

Очень интересно. У меня в Telegram Desktop вставляет. Linux Mint 21 (на базе Ubuntu 22.04), MATE, фар последний, телега тоже.

akruphi commented 1 year ago

Аналогичная ситуация: после обновления Ubuntu 20.04 LTS -> 22.04.2 LTS никак не работающий буфер обмена между far2l <-> Telegram. Оказалось, что по умолчанию в 22.04 Wayland. Если в /etc/gdm3/custom.conf проставить WaylandEnable=false и перезагрузится в Xorg, то буфер обмена far2l<->Telegram работает нормально. Но хотелось бы и в Wayland буфер обмена far2l без багов.

unxed commented 1 year ago

А вы какой сборкой пользуетесь? Что-то есть у меня гипотеза, что если не собрать far2l на системе с wayland, то он по умолчанию через xwayland работать будет, а не напрямую. И там уже именно в xwayland баг может быть. Потому что вот я собираю на системе без wayland, и ни с какими wayland'овскими либами он не линкуется.

backinussrname commented 1 year ago

А вы какой сборкой пользуетесь? Что-то есть у меня гипотеза, что если не собрать far2l на системе с wayland, то он по умолчанию через xwayland работать будет, а не напрямую. И там уже именно в xwayland баг может быть. Потому что вот я собираю на системе без wayland, и ни с какими wayland'овскими либами он не линкуется.

Вопрос ко мне? У меня всё по дефолту, в указанном файле настройка закомментирована #WaylandEnable=false

peter15914 commented 1 year ago

Проверил сейчас следующую вещь. Я использую Ubuntu 22.04 с Xorg, far2l собирал на ней же, буфер обмена работает хорошо. Переключился на wayland, эта же самамя версия far2l, собранная на Xorg, с буфером обмена работает плохо.

akruphi commented 1 year ago

А вы какой сборкой пользуетесь? Что-то есть у меня гипотеза, что если не собрать far2l на системе с wayland, то он по умолчанию через xwayland работать будет, а не напрямую. И там уже именно в xwayland баг может быть. Потому что вот я собираю на системе без wayland, и ни с какими wayland'овскими либами он не линкуется.

После обновления Ubuntu 20.04 LTS -> 22.04.2 LTS я, столкнувшись с проблемами буфера обмена, пересобрал в этой же системе (ещё в wayland) твоим скриптом make_far2l_deb.sh последнюю на тот момент 2.5.0-958b6ac Не помогло (именно между Telegram<->far2l буфер обмена не работал). После изменения среды на Xorg эта же сборка работает без таких проблем.

unxed commented 1 year ago

Если копирование только в Телеграм не работает, может, проблема на их стороне? Может, заслать тикет им?

peter15914 commented 1 year ago

Если правильно помню, проблемы не только в Telegram. У меня как раз руки чешутся разобраться с этой проблемой, попробую поэкспериментировать на выходных. UPD: вспомнил. Есть проблема, что в некоторые программы копируется, но портится кодировка для русского текста. Точно помню, что в Discord коряво вставлялось.

akruphi commented 1 year ago

Если копирование только в Телеграм не работает, может, проблема на их стороне? Может, заслать тикет им?

Из других программ (терминал, LibreOffice, Firefox, vscode) в/из Телеграм копировалось без проблем (терминал и LibreOffice у меня из apt, Firefox из flatpak, vscode из snap). А между far2l<->Telegram Desktop никак (глючило ещё на предыдущих Telegram Desktop 4.6.x). Поэтому что-то ломающее делает похоже именно far2l.

Сейчас я в X11 сижу, но если надо могу, когда будет время перегрузится в wayland. Только что именно делать и фиксировать?

unxed commented 1 year ago

Только что именно делать и фиксировать?

Для начала, наверное, интересно попробовать копирование из консольной (в режиме ttyxi) версии far2l в Телеграм. Ещё полезно было бы узнать, wxgtk у вас работает через XWayland, или напрямую в Wayland рендерится.

unxed commented 1 year ago

wxgtk у вас работает через XWayland, или напрямую в Wayland рендерится

https://askubuntu.com/questions/1393618/how-can-i-tell-if-an-application-is-using-xwayland

akruphi commented 1 year ago

В аналогичном обсуждении в форке https://github.com/shmuz/far2l/issues/17#issuecomment-1344709147 замечено, что проблема Wayland в некоторых случаях решается запуском строкой GDK_BACKEND=x11 far2l

unxed commented 1 year ago

Ага, т.е. под xWayland оно таки работает, а в чистом вэйленде не хочет. Хм, а это не может быть проблема уровнем выше, в wxWidgets?

unxed commented 1 year ago

Если взять любую другую прогу на wxWidgets, типа там, скажем, Audacity или FileZilla, и оттуда что-нибудь скопировать в Телеграм — скопируется?

unxed commented 1 year ago

Аналогичная ситуация: после обновления Ubuntu 20.04 LTS -> 22.04.2 LTS никак не работающий буфер обмена между far2l <-> Telegram.

А у вас Ubuntu не под WSL2 ли, часом?

unxed commented 1 year ago

@akruphi @peter15914 по поводу телеграмного бага — может, в сам телеграм кинуть репорт? Если только в нём такое? https://bugs.telegram.org/

По поводу кодировок выглядит как отдельный баг, возможно, стоит отдельный тикет завести для него.

unxed commented 1 year ago

И ещё было бы интересно проверить, что будет, если скопировать в Телеграм (и где там кодировка портится) и обратно что-нибудь из другой программы на wxWidgets. Audacity, например.

Если это во всём, что на wxWidgets, так, то это надо им тикет слать.

atolismesh commented 1 year ago

Сейчас проверил под Ubuntu 23.04 и Wayland (не под WSL). Работает копирование в одну сторону. Но как-то со второго раза. Зашел, запустил far2l, запустил Telegram. Скопировал текст в far2l - внутри far2l вставился. Вставляю в Telegram - не вставляется. Но после этого gnome-shell выпал в crash и перестартовал. После этого стало вставляться в Telegram. А вот из Telegram обратно - никак в far2l, только в gedit.

Еще под Wayland не работают в far2l шорткаты типа Ctrl+~ (Переход в $HOME), если ты на Рус клавиатуре

atolismesh commented 1 year ago

Поставил Audacity 3.2.4 под Ubuntu 23.04 и Wayland В обе стороны работает clipboard c Audacity <-> Telegram

unxed commented 1 year ago

Спасибо! Audacity тоже на wxWidgets сделана. Т.е. пока выглядит так, что проблема не в wx или Телеграме, а в фаре именно.

akruphi commented 1 year ago

Под Wayland вот консольный проект для работы с буфером обмена https://github.com/bugaevc/wl-clipboard рекомендуется как лучшая замена xclip. Возможно будет полезно как опора мысли что менять.

unxed commented 1 year ago

Вот этот workaround можно применить попробовать: https://github.com/elfmz/far2l/issues/1658#issuecomment-1546638648

unxed commented 7 months ago

По поводу буфера обмена и Wayland. Начиная с Убунту 24.04 можно будет гонять far2l --nodetect под kitty и работать с буфером обмена через OSC52.

Regarding the clipboard and Wayland. Starting from Ubuntu 24.04 it will be possible to run far2l --nodetect under kitty and work with the clipboard via OSC52.

unxed commented 7 months ago

@atolismesh а можете на 23.10 перепроверить ещё раз, пожалуйста?

Сейчас проверил под Ubuntu 23.04 и Wayland (не под WSL). Работает копирование в одну сторону.

unxed commented 7 months ago

Проверил сам. Баг с Telegram всё ещё воспроизводится на 23.10, увы. По ходу, самое удобное под Wayland на Ubuntu сейчас — связка kitty и ttyx версии, благо, и то и другое теперь есть в репах. Ну или gui версия и руками консольные утилиты работы с буфером обмена прописывать.

unxed commented 7 months ago

по проблеме буфера обмена и Телеграма — вот актуальный тикет https://github.com/elfmz/far2l/issues/2053

unxed commented 7 months ago

кроме того, что вставка в Telegram Desktop по-прежнему не работает

Проверьте на свежем мастере!

unxed commented 3 months ago

После недавних исправлений проблемы с буфером обмена под Wayland должны были уйти. У кого они оставались, перепроверьте, пожалуйста.

After recent fixes, problems with the clipboard under Wayland should have gone away. Whoever had them, please check now.

backinussrname commented 3 months ago

У меня последнее время только с телеграмом проблемы были сейчас вроде и в нём работает. Проверил только что, понаблюдаю ещё. Кстати, подумал. В прошлый раз проблема началась после перехода на убунту 22.04.1, а меньше чем через месяц выходит 24.04.1, возможна новая итерация цикла :)

akruphi commented 3 months ago

В прошлый раз проблема началась после перехода на убунту 22.04.1, а меньше чем через месяц выходит 24.04.1, возможна новая итерация цикла

Вроде ничего не предвещает, надеюсь... В прошлый раз между 20.04 LTS и 22.04 LTS было качественное изменение по умолчанию с X11 на Wayland - вот X11-зависимые костыли, реализующие вкусные особенности far2l, и разное сопутствующее из wxWigets и сломалось. Сейчас такой глобальности изменений не предвидится и как раз допиливание far2l под Wayland и более-менее произведено.

unxed commented 3 months ago

Там не только tyyxi по Wayland сломался, там ещё метод Flush объекта Clipboard в wxWdigets серьезно сломался тоже.