可以用xclip从终端复制文件到GUI吗?

想把终端的某个文件复制到QQ对话框,如果是复制图片可以用:

xclip -selection clipboard -t image/png 图片/test.png

然后在QQ中粘贴即可。能不能改-t后面的参数实现文件复制呢?man xclip没说-t后面的参数,只说遵守ICCCM section 2.6.2。

可以,比如我的 copy-files-as-uris

#!/usr/bin/python3

import sys
import os
from urllib.parse import quote
import subprocess

def main(names):
  copy_cmd = ['uniclip', '-i', '--clipboard', '-t', 'text/uri-list']
  uris = ['file://%s\n' % quote(os.path.abspath(x)) for x in names]
  subprocess.run(
    copy_cmd,
    text = True,
    input = ''.join(uris),
  )

if __name__ == '__main__':
  main(sys.argv[1:])

请教您一下。你这个实际上是运行了这个命令吧,如果用xclip来写要怎么写?比如我要复制~/1.txt这个文件到剪贴板。

uniclip -i –clipboard -t text/uri-list file://文件名

不知道。反正类型是 text/uri-list、内容是文件的 file 协议地址。

试出来了,比如文件是/home/linlin/1.txt,那么要写成:
echo “file:///home/linlin/1.txt” | xclip -selection clipboard -t text/uri-list

然后在随便哪个GUI界面粘贴就行