AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1111646
Accepted
I grok it
I grok it
Asked: 2019-01-22 04:59:37 +0800 CST2019-01-22 04:59:37 +0800 CST 2019-01-22 04:59:37 +0800 CST

替代 xsel 或 xclip *没有* X11 安装?

  • 772

当我从 Windows 机器使用 putty 到 linux(未安装 X11)时,是否有 xsel 或 xclip 的替代品?xclip/xsel 需要 X11。我想将完整的 shell 命令输出通过管道传输到剪贴板,然后将其粘贴到 Windows 框上的应用程序中。我不想在那些 linux 服务器上安装所有 X11 依赖项 xsel 和 xclip 需要。这可能吗?担

command-line clipboard xclip xsel
  • 4 4 个回答
  • 11912 Views

4 个回答

  • Voted
  1. Best Answer
    Byte Commander
    2019-01-22T05:43:02+08:002019-01-22T05:43:02+08:00

    剪贴板本身是 X11 的一项功能,因此如果没有任何 X11 服务器实例在任何地方运行,您将无法使用它。更多关于下面的内容。

    但是,xclip/xsel没有 X11 服务器作为依赖项,它们只需要安装一些客户端库。xsel如果你想拥有尽可能少的包,你应该安装它,因为它的依赖关系明显少于xclip(比较apt depends --recurse --important xseland的输出apt depends --recurse --important xclip)。

    回到 X11 服务器。您说您不想在无头 Ubuntu 服务器上安装完整的图形 X11 服务器堆栈,这不是必需的。但是,如果您想使用剪贴板等功能,则需要您在本地客户端上运行 X11 服务器。

    在 Linux 桌面客户端上这没有问题,因为您通常已经在那里运行 X11,但在 Windows 上则没有。幸运的是,似乎还有一个用于 Windows 的小型 X11 服务器版本,称为Xming。

    一旦你运行并配置了它,你应该能够通过 SSH(使用 PuTTY)将你的本地 X11 会话转发到你的无头服务器。然后您可以在那里使用例如xsel与它进行交互并访问您的本地剪贴板。

    有关如何为 X11 转发设置 Xming、PuTTY 和 SSH 服务器的更多详细信息,请参阅以下帖子:

    • 如何使用 PuTTY 通过 ssh 从 Windows 到 Ubuntu 获取 X11 连接
    • 无头服务器上的 xclip
    • 如何在 PuTTY 中使用 X11 转发(超级用户)
    • 15
  2. sudodus
    2019-01-22T10:53:40+08:002019-01-22T10:53:40+08:00

    script记录整个对话

    编译后的程序是Ubuntu 存储库“main”中script的程序包中的程序。bsdutils它将整个对话保存在文本屏幕、终端窗口或远程连接中。你可以script在你的服务器上运行。

    日志文件的默认名称typescript在您开始的目录中script,但如果您script以参数(别名参数)开头,则可以选择其他名称

    script my-script.log
    

    演示示例

    启动script并运行一些命令:

    sudodus@bionic64 ~/test $ LANG=C script my-script.log
    Script started, file is my-script.log
    sudodus@bionic64 ~/test $ echo 'Hello World'
    Hello World
    sudodus@bionic64 ~/test $ pwd
    /home/sudodus/test
    sudodus@bionic64 ~/test $ ls
    my-script.log
    sudodus@bionic64 ~/test $ exit
    exit
    Script done, file is my-script.log
    

    检查日志文件:

    sudodus@bionic64 ~/test $ cat my-script.log 
    Script started on 2019-01-21 19:50:22+0100
    sudodus@bionic64 ~/test $ echo 'Hello World'
    Hello World
    sudodus@bionic64 ~/test $ pwd
    /home/sudodus/test
    sudodus@bionic64 ~/test $ ls
    my-script.log
    sudodus@bionic64 ~/test $ exit
    exit
    
    Script done on 2019-01-21 19:50:52+0100
    sudodus@bionic64 ~/test $ 
    
    • 3
  3. filbranden
    2019-01-22T07:05:18+08:002019-01-22T07:05:18+08:00

    如果您可以选择使用修改后的 PuTTY,您可能需要查看PuTTY 的这个补丁,它添加了自定义转义序列,以便从 Windows 剪贴板复制和粘贴。它还附带一个小型winclipshell 脚本,可用于从目标 Linux/Unix 主机访问 Windows 剪贴板。

    该补丁适用于 PuTTY 0.53b(超过 10 年),这里有一个 PuTTY 0.60 的变基,但这仍然是一个旧版本。您可能需要做一些工作来使其适应最新的 PuTTY(撰写本文时为 0.70),但它可能会直接应用而无需任何更改,因为此时 PuTTY 代码库已经基本稳定。所以也许这对你有用。

    该补丁不太可能被官方 PuTTY 接受,因为转义序列是自定义的,并不是任何标准的一部分,因此 PuTTY 在其官方发行版中不太可能正式支持。

    • 1
  4. Sergiy Kolodyazhnyy
    2019-01-22T21:47:04+08:002019-01-22T21:47:04+08:00

    Windows 端的 PuTTY 允许通过一组快捷方式复制屏幕上的文本。如果命令的输出太大,请考虑nc在 Ubuntu 服务器和ncatWindows 客户端(可从 nmap.org 获得)上使用。

    在 Ubuntu 上,执行

    $ command > output.txt
    # port 1234 is just an example, you can use your own port of choice
    $ nc -N -l 1234 < output.txt
    

    在 Windows 上,使用ncat:

    PS C:\Users\Admin> & 'C:\Program Files (x86)\Nmap\ncat.exe' <ip of the server> 1234 --output foo.txt
    

    保存在服务器上的输出将传输到foo.txt客户端。

    • 0

相关问题

  • 如何从命令行仅安装安全更新?关于如何管理更新的一些提示

  • 如何从命令行刻录双层 dvd iso

  • 如何从命令行判断机器是否需要重新启动?

  • 文件权限如何工作?文件权限用户和组

  • 如何在 Vim 中启用全彩支持?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve