之前使用的是KDE下的krdc。该程序的Grab Keys功能存在bug,导致Alt+TAB大多数时候不能被捕捉,从而无法使用键盘切换窗口。不过,其全屏功能是正常的,在多显示器的情况下,全屏只在一个屏幕上有效。最终,还是换回到rdesktop。命令如下:

rdesktop -a 32 -u user_name  -g 1920x1030 -x 0x80 -r clipboard:PRIMARYCLIPBOARD 192.168.1.102

其中,各选项含意如下:

  • -a 32:使用32位color;

  • -u创:指定用户名;

  • -g 1920x1030:指定窗口大小。由于在多显示器情况下,rdesktop在全屏的时候会扩展到两个屏幕上,因此,不能使用-f全屏选项,而只能直接指定窗口大小。原本Home PC主显示器的分辨率为1920x1080,将高度设置为1030是由于底部工具栏的高度。然后,在KDE Special windows settings中将rdesktop的标题栏隐藏,则可以最终实现类似于全屏的效果;

  • -x 0x80:指定user experience level。在rdesktop的源码中有:#define RDP5_ENABLE_FONT_SMOOTHING 0x80。因此,将该值设为0x80,则可以显示出最好的字体效果。(原先设置的为lan,虽然使颜色深度加到了最大值32,但是字体显示没有ClearType效果);

  • -r clipboard:PRIMARYCLIPBOARD:实现本机与远程主机间的剪贴板共享;

  • 最后指定远程主机的IP地址。

创建了如下的脚本rdcwin,用于连接远程主机:

#!/bin/bash

if [ -z $ ]; then
echo "Default host 192.168.1.102 will be conneted!"
host=192.168.1.102
else
host=$
fi rdesktop -a -u user_name -g 1920x1030 -x 0x80 -r clipboard:PRIMARYCLIPBOARD $host

更多细节可参考这里:

rdesktop: Connect to Windows 7 and Vista with ClearType font smoothing enabled

So Windows Vista finally allows to enable ClearType font smoothing for Remote Desktop / Terminal Services sessions. Update: Windows XP SP3 does too!

If you try to connect to a machine running Windows XP SP 3 or later using rdesktop, you won’t get smoothed font typing since at the time of this writing rdesktop does not officially offer an option to control this feature. However, here is a workaround:

rdesktop allows to specify the RDP5
experience via the -x experience switch.

One can either define one of three
default experiences (modem, broadband, lan) or one can specify a raw
hex value that is send to the server.

NOTE: You can skip over this rather
technical part, if you’re not interested in the details. You’ll
find the workaround below.

This hex value is actually a combination
of defined bit flags. After some tinkering I found that the hex value
0×80 will enable font smoothing for the connection.

The file constants.h of the rdesktop
sources contains these flags:

#define RDP5_DISABLE_NOTHING 0x00

#define RDP5_NO_WALLPAPER 0x01

#define RDP5_NO_FULLWINDOWDRAG 0x02

#define RDP5_NO_MENUANIMATIONS 0x04

#define RDP5_NO_THEMING 0x08

#define RDP5_NO_CURSOR_SHADOW 0x20

#define RDP5_NO_CURSORSETTINGS 0x40
/* disables cursor blinking */

So, naturally an additional flag constant
can be defined like this:

#define RDP5_ENABLE_FONT_SMOOTHING
0x80

The file rdesktop.c would have to be
extended preferably with an additional argument that controls the
font smoothing.

If you want to use font smoothing with
rdesktop now you have to combine the flags (bitwise OR, addition will
do too) and specify the result via the -x switch.

Here is the workaround for the three
defaults mentioned above:

rdesktop -x 0x8F mywinserver # equals
the modem default + font smoothing

rdesktop -x 0x81 mywinserver # equals
the broadband default + font smoothing

rdesktop -x 0x80 mywinserver # equals
the LAN default + font smoothing

使用rdesktop远程连接Windows桌面的更多相关文章

  1. Linux远程连接Windows桌面

    Ubuntu对初始用户的界面友好是有目共睹的:Fedora一向以创新.傲慢的姿态示人.其实,对于两者,我虽然更倾向于选择Fedora,但不可避免地会两者比较,发现Ubuntu更加人性化,这点是经过很多 ...

  2. 使用freerdp远程连接Windows桌面(转载)

    使用freerdp远程连接Windows桌面 之前使用的是rdesktop,但是由于其不支持NLA认证,便不能登录公司的电脑.为此,现在使用freerdp——这是package的名字,实际的可执行程序 ...

  3. 使用freerdp远程连接Windows桌面

    之前使用的是rdesktop,但是由于其不支持NLA认证,便不能登录公司的电脑.为此,现在使用freerdp——这是package的名字,实际的可执行程序是xfreerdp.使用如下的命令行即可实现远 ...

  4. Mac 远程连接windows桌面工具parallels client

    https://www.cnblogs.com/cssfirefly/p/9644940.html Parallels Client 客户端是免费,App Store 直接下载 复制文件:用共享文件夹 ...

  5. Ubuntu16.04下使用rdesktop命令远程连接windows机器

    前段时间在本机安装了ubuntu16.04桌面版,后来需要远程连接一台win10系统的跳转机,下面介绍使用rdesktop命令远程连接windows机器的操作记录:1)首先安装rdesktop工具 k ...

  6. windows下使用vnc viewer远程连接Linux桌面(转)

    在windows下使用vnc viewer远程连接Linux桌面,主要配置步骤: Linux: 1.rpm -qa vnc //查看是否安装vnc服务,如果没有安装,可以使用yum,或者rpm进行安装 ...

  7. 5款免费Windows远程连接Linux桌面软件(VNC客户端)

        不论我们出于何种的用途目的,很多朋友有需要用到VNC链接Linux桌面环境,之前老左有分享过VNC Viewer绿色软件,昨天有朋友提出来使用之后登录远程桌面的界面.分辨率等有些色差.流畅程度 ...

  8. qq远程连接/windows远程桌面/teamviwer/xmanager/vnc的区别

    软件 客户端运行平台 服务端运行平台 服务端是否需要同子网或公网IP 网络断开当前执行命令是否会中止 评价 QQ远程连接 windows windows 否 否 感觉用了一两分钟就动不了了 windo ...

  9. Kali Linux远程连接Windows服务器

    前言: 为了在Kali上远程连接Windows系统的服务器我们需要安装两个工具,rdesktop和tsclient.另外,我们从主机服务商那里购买的Windows操作系统的服务器都是默认开启了远程连接 ...

随机推荐

  1. leetcode & lintcode for bug-free

    刷题备忘录,for bug-free leetcode 396. Rotate Function 题意: Given an array of integers A and let n to be it ...

  2. Oracle odi 数据表导出到文件

    最近新客户要求,以EXCEL数据方式,将数据表的内容,通过AS2协议传输到客户那边,本来打算使用存储过程直接输出EXCEL,但一想,ODI这么强大的工具应该可以直接进行转换,所以参考了一下官方标准文档 ...

  3. c# 强制退出程序

    引用:http://blog.csdn.net/tanhua103292/article/details/4283203 1.强制退出WinForm程序之Application.Exit和Enviro ...

  4. rocketmq(1)

    参考: 开源社区:https://github.com/alibaba/RocketMQ rocketmq入门: http://www.cnblogs.com/LifeOnCode/p/4805953 ...

  5. Oracle表锁住处理

    select object_id,session_id,locked_mode from v$locked_object; select b.owner,b.object_name,l.session ...

  6. 【linux-shell】rsync

    https://en.wikipedia.org/wiki/Rsync https://en.wikipedia.org/wiki/Andrew_Tridgell 安德鲁.锤子,发布了rsync的第一 ...

  7. 5、sha1加密的一个坑

    OC语言写的sha1加密算法,在网上随手可以搜索到(如下便是),但是我不得不说有一些人不责任,没有提醒大家导入必要的系统头文件,从而导致错误 + (NSString *) sha1:(NSString ...

  8. 分子量(Molar Mass,ACM/ICPC Seoul 2007,UVa 1586)

    #include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char s[20]; scanf ...

  9. timeit模块 与 time模块,计时的区别

    time  模块,理解容易 import time time_start = time.time() time_end = time.time() time_use = time_end - time ...

  10. C语言学习 数独游戏

    摘要:花了1周多时间学习了C语言,开始练手写解数独游戏的程序. C语言学习 数独游戏 作者:乌龙哈里 时间:2015-11-22 平台:Window7 64bit,TCC 0.9.26(x86-64 ...