之前使用的是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. webservices(一)

    ---完全摘自网络 什么是webService WebService,顾名思义就是基于Web的服务.它使用Web(HTTP)方式,接收和响应外部系统的某种请求.从而实现远程调用.  1:从WebSer ...

  2. PHP的ip2long和long2ip函数的实现原理

    最近要做个十进制数字的可逆转换做邀请码,一直没搞清楚怎么弄的,实在太复杂了,今天弄IP时想到这个可以进行转换,于是研究了下原理: 主要是自己整理了下: $ip = '12.34.56.78'; $ip ...

  3. hdu1029

    #include<iostream>#include<string.h>using namespace std;int main(){ int n,i; int t; int ...

  4. WinForms 实现气泡提示窗口(转载)

    [实例说明] 气泡提示因为他的美观又好被大多数用户所接收,用户所喜爱的就是程序员要实现的. 本实例实现了任务栏气泡提示,运行本实例,效果图如下所示: 单击提示.气泡提示就会显示,单击“关闭”气泡又会消 ...

  5. C#中的委托到底是什么概念??

    委托,简单理解是这样的.比如您要管您的孩子,把孩子送进了幼儿园.OK.此时您就把您的孩子委托给了幼儿园.当幼儿园放学,将孩子交还给您的手中.则是委托的回调.当然我这里的例子是说异步委托调用.您也可以同 ...

  6. dplyr 数据操作 常用函数(5)

    继续来了解dplyr中的其他有用函数 1.sample() 目的是可以从一个数据框中,随机抽取一些行,然后组成新的数据框. sample_n(tbl, size, replace = FALSE, w ...

  7. Oracle新建实例后,修改sys和system密码。

    sqlplus/nolog connect sys as sysdba alert user sys identified by pwd;

  8. 学习笔记:shell 中 [-eq] [-ne] [-gt] [-lt] [ge] [le]

    -eq           //等于 -ne           //不等于 -gt            //大于 (greater ) -lt            //小于  (less) -g ...

  9. 防范XSS

    .net framework4.5 提供了AntiXss类,来防范XSS攻击. 在开放指令的同时过滤危险字符串,使用AntiXss.GetSafeHtmlFragment(html)方法,具体可以参照 ...

  10. JavaScript DOM编程艺术-学习笔记(第五章、第六章)

    第五章: 1.题外话:首先大声疾呼,"js无罪",有罪的是滥用js的那些人.js的father 布兰登-艾克,当初为了应付工作,10天就赶出了这个js,事后还说人家js是c语言和s ...