community icon indicating copy to clipboard operation
community copied to clipboard

GTK3 Clipboard Unavailable (looks for xsel, xclip, and dbusklipper)

Open rmackinnon opened this issue 2 years ago • 0 comments

Software Versions

  • Python: v3.9.10
  • OS: Linux
  • Kivy: v2.1.0
  • Kivy installation method: pip

Describe the bug Upon loading an application under GTK3 (v3.42.0), the clipboard provider returns an error stating "no valuable cutbuffer available", and does not use the GTK3 clipboard.

Expected behavior A viable clipboard is found and available using the built in GTK3 clipboard.

To Reproduce Visible by pulling hm-panelizer , and running the application. I would suppose this affects other applications, but my sample size is only 1.

Code and Logs and screenshots

[WARNING] [Config      ] Older configuration version detected (0 instead of 24)
[WARNING] [Config      ] Upgrading configuration in progress.
[INFO   ] [Logger      ] Record log in /home/rmackinnon/.kivy/logs/kivy_22-06-07_0.txt
[INFO   ] [Kivy        ] v2.1.0
[INFO   ] [Kivy        ] Installed at "/home/rmackinnon/.local/lib/python3.9/site-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.9.10 (main, Feb 11 2022, 17:56:34) 
[GCC 11.2.0]
[INFO   ] [Python      ] Interpreter at "/usr/lib/python-exec/python3.9/python"
[INFO   ] [Logger      ] Purge log fired. Processing...
[INFO   ] [Logger      ] Purge finished!
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [Factory     ] 189 symbols loaded
[WARNING] [Factory     ] Ignored class "Settings" re-declaration. Current -  module: kivy.uix.settings, cls: None, baseclass: None, filename: None. Ignored -  module: None, cls: None, baseclass: Popup, filename: /home/rmackinnon/Develop/hm-panelizer/panelizer.kv.
[WARNING] [Factory     ] Ignored class "About" re-declaration. Current -  module: None, cls: <class 'UI.About'>, baseclass: None, filename: None. Ignored -  module: None, cls: None, baseclass: Popup, filename: /home/rmackinnon/Develop/hm-panelizer/panelizer.kv.
[WARNING] [Factory     ] Ignored class "Error" re-declaration. Current -  module: None, cls: <class 'UI.Error'>, baseclass: None, filename: None. Ignored -  module: None, cls: None, baseclass: Popup, filename: ${HOME}/Develop/hm-panelizer/panelizer.kv.
[WARNING] [Factory     ] Ignored class "Progress" re-declaration. Current -  module: None, cls: <class 'UI.Progress'>, baseclass: None, filename: None. Ignored -  module: None, cls: None, baseclass: Popup, filename: ${HOME}/Develop/hm-panelizer/panelizer.kv.
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL" graphics system
[INFO   ] [GL          ] Backend used <sdl2>
[INFO   ] [GL          ] OpenGL version <b'4.6.0 NVIDIA 470.103.01'>
[INFO   ] [GL          ] OpenGL vendor <b'NVIDIA Corporation'>
[INFO   ] [GL          ] OpenGL renderer <b'Quadro K2000M/PCIe/SSE2'>
[INFO   ] [GL          ] OpenGL parsed version: 4, 6
[INFO   ] [GL          ] Shading version <b'4.60 NVIDIA'>
[INFO   ] [GL          ] Texture max size <16384>
[INFO   ] [GL          ] Texture max units <32>
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [Clipboard   ] Provider: gtk3(['clipboard_xclip', 'clipboard_xsel', 'clipboard_dbusklipper'] ignored)
[CRITICAL] [Cutbuffer   ] Unable to find any valuable Cutbuffer provider. Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes
xclip - FileNotFoundError: [Errno 2] No such file or directory: 'xclip'
 File "${HOME}/.local/lib/python3.9/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
    mod = importlib.__import__(name='{2}.{0}.{1}'.format(
  File "<frozen importlib._bootstrap>", line 1109, in __import__
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "${HOME}/.local/lib/python3.9/site-packages/kivy/core/clipboard/clipboard_xclip.py", line 17, in <module>
    p = subprocess.Popen(['xclip', '-version'], stdout=subprocess.PIPE,
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1821, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)

xsel - FileNotFoundError: [Errno 2] No such file or directory: 'xsel'
  File "${HOME}/.local/lib/python3.9/site-packages/kivy/core/__init__.py", line 59, in core_select_lib
    mod = importlib.__import__(name='{2}.{0}.{1}'.format(
  File "<frozen importlib._bootstrap>", line 1109, in __import__
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "${HOME}/.local/lib/python3.9/site-packages/kivy/core/clipboard/clipboard_xsel.py", line 16, in <module>
    p = subprocess.Popen(['xsel'], stdout=subprocess.PIPE)
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1821, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)

Additional context This issue may be related to #5804?. With Wayland mainlined for GTK3 window managers, this is a standing issue as xsel and xclip are no longer applicable clipboard providers. Let me know what I can do to help, would be willing to spend some cycles dev'ing a fix.

rmackinnon avatar Jun 07 '22 20:06 rmackinnon