首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python pyperclip KeyError XDG_SESSION_TYPE

python pyperclip KeyError XDG_SESSION_TYPE
EN

Stack Overflow用户
提问于 2021-01-08 10:29:20
回答 1查看 342关注 0票数 0

pyperclip无法确定系统的剪贴板

有什么建议吗?

我运行的是CentOS 7

我已经验证了xclip,并且正在工作

代码语言:javascript
复制
cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

% echo "test" | xclip -i -sel clip
% echo "test selection" | xclip -i -sel clip
% xclip -o -sel clip
test selection

In [1]: import pyperclip
In [2]: pyperclip.copy("test selection")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/data/py36_venv/lib64/python3.6/site-packages/pyperclip/__init__.py", line 658, in lazy_load_stub_copy
    copy, paste = determine_clipboard()
  File "/home/data/py36_venv/lib64/python3.6/site-packages/pyperclip/__init__.py", line 568, in determine_clipboard
    os.environ["XDG_SESSION_TYPE"] == "wayland" and
  File "/usr/lib64/python3.6/os.py", line 669, in __getitem__
    raise KeyError(key) from None
KeyError: 'XDG_SESSION_TYPE'

'XDG_SESSION_TYPE'
EN

回答 1

Stack Overflow用户

发布于 2021-01-27 09:42:54

如果您以根用户身份运行,则可能会发生这种情况,因为pyperclip需要设置环境变量XDG_SESSION_TYPEXDG_SESSION_TYPE的值取决于您拥有的X设置。

要进行解析,请从非根用户获取XDG_SESSION_TYPE值:

代码语言:javascript
复制
% echo $XDG_SESSION_TYPE

在以root身份运行的会话中,在运行python脚本之前设置env var:

代码语言:javascript
复制
% export XDG_SESSION_TYPE=<value_from_user_account>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65622618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档