linux与windows共享剪贴板(clipboard)的方法

先说两句废话,其实linux和windows之间不需要共享剪贴板,直接在putty中,按住SHIFT+鼠标选择就可以了。

但是作为一种hack行为或者不用鼠标实现复制功能,就需要这种方法了。

组合:

putty+tmux+vim+mobaiterm/xserver

如果熟悉的朋友应该早已经用习惯了前面三个软件,号称三剑客。

后面的两个软件只是使用其中的一部分功能,即x window的剪贴板。

xserver是指windows这边的显示器,client是linux那边的程序向server发送图像数据,请求在xserver这里显示它的窗口,而不是在它原来的那个窗口显示。

配置:

putty:

配置如下图所示的,打开Enable X11forwarding,并且填入X display location的值:127.0.0.1:0

这里的127.0.0.1是指xserver的ip地址,:0是指那个显示窗口,在x window概念中,多用户系统,所以可以显示多个不同的窗口,:0一般是默认窗口。

如果是使用cygwin或者其它一些ssh-agent连接,可以添加ssh -X user@linux_ip_address方式添加X11forwarding方法。

图1

tmux:

在tmux的配置文件.tmux.conf中,要添加下面的代码:

#Copy tmux paste buffer to CLIPBOARD(CLIPBOARD selection integration)
#must install xclip and xsel
bind C-c run "tmux save-buffer - | xclip -i -selection clipboard"
#Copy CLIPBOARD to tmux paste buffer and paste tmux paste buffer
bind C-v run "tmux set-buffer -- \"$(xclip -o -selection clipboard)\"; tmux paste-buffer"

它的意思是,当执行ctrl+a,ctrl+c时,把tmux中的buffer添加到linux系统的剪贴板中,ctrl+a,ctrl+v则是输出linux系统的剪贴板内容。

vim:

在vim中,添加

set guioptions+=aA       " get some autoselect interaction with the system clipboard

这个是应用在vim gui中的,命令行中的vim无效

mobaiterm/xserver

在这里,mobaiterm和xserver中的xming是一个功能,就是它们提供了,把linux的剪贴板放到windows系统的剪贴板中,这只是一个小的功能,其实xserver还可以做很多其它的事情,我尝试过,是一种特别的概念。

使用:

现在就需要的是在tmux中,用tmux复制一部分文档,ctrl+[进入选中状态,然后按空格<space>,使用vim的上下左右移动光标选择文字,所使用<Enter>复制到tmux中,然后按Ctrl+a,ctrl+c复制到系统中的剪贴板clipboard中,然后在windows下的编辑器中,粘贴,就可以粘贴到刚刚tmux选择的文字。

如果想让vim中复制的内容放到windows中,使用"+y把内容放到系统的剪贴板中,然后就可以复制到windows中了。

参考(扩展阅读):

How to copy from tmux running in putty to windows clipbard: http://stackoverflow.com/questions/17255031/how-to-copy-from-tmux-running-in-putty-to-windows-clipbard

linux与windows共享剪贴板(clipboard)的更多相关文章

  1. VMware下安装Ubuntu,那么必须安装VMware-tools,才能获得更好的体验,包括屏幕分辨率、声音、和windows共享剪贴板等等

    在VMware下安装Ubuntu,那么必须安装VMware-tools,才能获得更好的体验,包括屏幕分辨率.声音.和windows共享剪贴板等等. 个人觉得安装vmware-tools很重要的几点: ...

  2. Linux编译Windows共享目录下代码

    Linux编译Windows共享目录下代码(金庆的专栏)万神服务器代码是跨平台的.平时策划在Windows上开自己的服务器测试,测试和发布服务器为Linux.开发时,先在Windows上编译测试,再到 ...

  3. linux 设置windows共享

    在linux下需要设置windows共享. 我们使用SMBA来实现. 1.查看是否安装smba. rpm -qa | grep samba 如果没有安装,则去 www.rpmfind.net 下载sm ...

  4. Sambar,实现Linux和Windows共享

    我下载的是tar的jar包,不是rpm,rpm就不多说了.目的是让Windows能够共享Linux系统的文件夹 1.进入到source文件夹: 2../configure->make->m ...

  5. Linux访问windows共享(samba/smbclient/smbfs/cifs)

    samba是一个实现不同操作系统之间文件共享和打印机共享的一种SMB协议的免费软件.●安装samba,samba-client和cifs-utils.x86_64此步将自动安装好相关依赖包:samba ...

  6. Linux挂载Windows共享目录

    在windows中设置共享目录并添加权限用户 把Window系统的文件共享挂载到linux centos 目录下的方法步骤: 1.先在windows下面共享需要挂载的目录. 2.确保linux与win ...

  7. 使用samba实现linux与windows共享(测试成功)

    samba服务器搭建    实现linux与windows文件共享有很多种方法,诸如wpc,vmtools等,今天我来介绍我在rehat系统中实验成功并且现在在用的的方法,直接给出操作步骤:     ...

  8. Linux访问Windows共享目录的方法——smbclient

    之前写过Ubuntu访问Windows共享目录,里面主要介绍如何在GUI上访问windows共享目录. 本文侧重于整理通过命令行访问的方法. 先确保smbclient.ubuntu下可以直接运行下面命 ...

  9. Samba Linux 和windows 共享

    1.安装Samba  (yum install Samba) 2.配置Samba  (Samba的配置文件为/etc/samba/smb.conf) 1)打开smb.conf   vim /etc/s ...

随机推荐

  1. focusky 购买指南

    升级Focusky动画演示大师 所有版本一次购买,终身使用,无限制作,免费升级.支付方式:支付宝.淘宝.银行转账.支付宝付款:点击表格中的“立即购买“进入购买页面->选择版本.数量,并填写详细的 ...

  2. ASP.NET 去除所有HTML标记的方法

    using System.Text.RegularExpressions /// <summary> /// 去除HTML标记 /// </summary> /// <p ...

  3. Linux 学习笔记 更多的bash shell命令

    一  监测程序 1.ps 输出运行在系统上的所有程序的许多信息 运行ps命令,也会开启一个进程 默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户的进程. Unix风格的参数(单破折号) - ...

  4. Magical Forest

    Problem Description There is a forest can be seen as N * M grid. In this forest, there is some magic ...

  5. [Android]应用的前后台运行

    在开发中,你是不是没有抽象一个出常用的类,那你可能要为你的懒惰付出很大的代价.要时刻记得自己的工具箱,不断往里面添加一些小小玩意.今天就给大家带来一个很有意思的例子.前后台运行!! 在Android开 ...

  6. 关于Hadoop之父Doug Cutting

    生活中,可能所有人都间接用过他的作品,他是Lucene.Nutch .Hadoop等项目的发起人.是他,把高深莫测的搜索技术形成产品,贡献给普罗大众:还是他,打造了目前在云计算和大数据领域里如日中天的 ...

  7. css 盒模型相关样式

    话不多说,一切还是从最基础的说起.  盒的类型  1.盒的基本类型 在css中,用display定义盒的类型,一般分为block类型与inline类型. 例如div属于block类型,span属于in ...

  8. EasyUI的datagrid获取所有正在编辑状态的行的行编号

    今天项目需要用了下EasyUI的datagrid的行编辑功能,跟着API来,只要是将各种状态时的处理逻辑弄好,还是蛮不错的. 开发过程中,遇到了个问题,在编辑完成后我需要获取datagrid所有处于编 ...

  9. oracle的nvl和sql server的isnull

    最近公司在做Oracle数据库相关产品,在这里作以小结: ISNULL()函数 语法    ISNULL ( check_expression , replacement_value) 参数    c ...

  10. HDOJ2009求数列的和

    求数列的和 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...