rdesktopの改造@Debian etch



LinuxからWindowsのリモートデスクトップに接続するコマンドです。

Debian Etch のrdesktopは日本語のコピペも問題なくできるようになりました。
でも、マウスのスクロールイベントを1回送ると、Windowsでは2回としてカウントされてしまうようですので、ソースを以下のように改造し、再コンパイルしました。

xwin.c

        if (xevent.xmotion.window == g_wnd)
        {
                /* ここに1行追加 */
                if ( !(((button == 640 || button == 896) && flags != MOUSE_FLAG_DOWN)))
                        rdp_send_input(time(NULL), RDP_INPUT_MOUSE,
                                       flags | button, xevent.xbutton.x, xevent.xbutton.y);
        }
        else
        {
                /* SeamlessRDP */
                rdp_send_input(time(NULL), RDP_INPUT_MOUSE,
                               flags | button, xevent.xbutton.x_root, xevent.xbutton.y_root);
        }

再コンパイル時にはlibssl-devが必要になりますので、apt-get でインストールしてください。
個人的にはmake installするのが嫌いなので、rdesktopのバイナリだけをコピーしようと考えていましたが、configureでprefixをきちんと指定してあげておかないとうまく動きませんでした。

# ./configure --prefix=/usr/
# make

後はできたrdesktopコマンドを /usr/bin/rdesktop に上書きするだけで使えます。

※実際には上書きするまえにバックアップをとっておくことを推奨します


    

2 Responses to “rdesktopの改造@Debian etch”

  1. LinuxからWindows-XPに接続するとき、スクロールがおかしいなと思っていたのですが、この修正でうまく動作するようになりました。大変助かりました。

    ※ただ、スクロールバーをクリックすると、スクロールが止まらないという状況は治りませんでした。
    《参考》
    Ubuntuでは、libx11-dev、FedoraではlibX11-develが追加インストール要でした。
    しかし、configureで必要なパッケージを表示してくれるので便利ですね。

  2. jcoolさん
    ご報告ありがとうございました。

コメント




(必須)