CygwinのX ServerとWindows間でコピー&ペーストを実現する方法
ず〜と、CygwinのX ServerはWindows上のアプリとの間でコピー&ペーストができないと思っていたのですが、同僚の方から以下のようにすると可能だよ教えて頂きました。
- こんな感じで、X Serverの起動オプションに『-clipboard』を追加する
@echo off SET REMOTE_HOST=<ここに接続先のサーバ名を指定> SET DISPLAY=<任意のディスプレイ番号を『:1』、『:2』、『:3』などと指定> SET CYGWIN_ROOT=SET PATH=.;%CYGWIN_ROOT%\bin;%CYGWIN_ROOT%\usr\X11R6\bin;%PATH% SET XAPPLRESDIR=/usr/X11R6/lib/X11/app-defaults SET XCMSDB=/usr/X11R6/lib/X11/Xcms.txt SET XKEYSYMDB=/usr/X11R6/lib/X11/XKeysymDB SET XNLSPATH=/usr/X11R6/lib/X11/locale if not exist %CYGWIN_ROOT%\tmp\.X11-unix\X0 goto CLEANUP-FINISH attrib -s %CYGWIN_ROOT%\tmp\.X11-unix\X0 del %CYGWIN_ROOT%\tmp\.X11-unix\X0 :CLEANUP-FINISH if exist %CYGWIN_ROOT%\tmp\.X11-unix rmdir %CYGWIN_ROOT%\tmp\.X11-unix echo startxdmcp.bat - Starting on Windows NT/2000/XP run XWin %DISPLAY% -query %REMOTE_HOST% -nodecoration -lesspointer -clipboard
- 上記手順を実施してもダメな場合は、Linux側のGDM定義ファイル(/etc/gdm/gdm.conf)を変更する
# To try to kill all clients started at greeter time or in the Init script. # does not always work, only if those clients have a window of their own. #KillInitClients=true <= 元々はこっちでした KillInitClients=false <= false へ変更しました LogDir=/var/log/gdm
注)私の場合は、Ubuntu Linuxで確認しました。
ちなみにちょっと調べた限りでは、Cygwin側に起動オプションを追加しただけで、SPARC版Solaris 8とのコピー&ペーストが可能なことが確認できました。(^o^)v
う〜ん、素晴らしい。これで私は商用のPC X Serverを購入する必要性がなくなりました。(^o^)/