Skip to Content

远程桌面的问题

dick_bourne 的头像
今天在使用远程桌面登录XP系统时,提示出现一个错误:

# rdesktop-vrdp -g 1024x768 -D 192.168.1.115 -f
ERROR: Failed to open keymap en-us

多次改变参数,这个错误提示仍然存在,只是登录到XP以后不影响使用,不知道是什么原因。

在机器里查找en-us文件,发现了两处:
/initrd/pup_rw/opt/VirtualBox/rdesktop-vrdp-keymaps/en-us
/opt/VirtualBox/rdesktop-vrdp-keymaps/en-us

这应该是在安装VirtualBox时留下的。将它卸载后这两个文件就不见了。
再运行rdesktop-vrdp时发现不见,看来这个软件是在VirtualBox里面的。
#5553
dick_bourne 的头像
接下来就是去官方网站下载rdesktop-1.6.0.tar.gz,这是最新的稳定版。下面就按步就班地做下去了:
# tar zxvf rdesktop-1.6.0.tar.gz
# cd rdesktop-1.6.0
# ./configure
# make
编译时出错:
gcc -g -O2 -Wall -I/usr/include -I/usr/include/alsa -I/usr/X11/include -DPACKAGE_NAME=\"rdesktop\" -DPACKAGE_TARNAME=\"rdesktop\" -DPACKAGE_VERSION=\"1.6.0\" -DPACKAGE_STRING=\"rdesktop\ 1.6.0\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DL_ENDIAN=1 -DHAVE_SYS_SELECT_H=1 -DHAVE_LOCALE_H=1 -DHAVE_LANGINFO_H=1 -Dssldir=\"/usr\" -DEGD_SOCKET=\"/var/run/egd-pool\" -DHAVE_LIBSAMPLERATE=1 -DWITH_RDPSND=1 -DRDPSND_OSS=1 -DRDPSND_ALSA=1 -DHAVE_DIRENT_H=1 -DHAVE_DIRFD=1 -DHAVE_DECL_DIRFD=1 -DHAVE_ICONV_H=1 -DHAVE_ICONV=1 -DICONV_CONST= -DHAVE_SYS_VFS_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_MOUNT_H=1 -DSTAT_STATVFS=1 -DHAVE_STRUCT_STATVFS_F_NAMEMAX=1 -DHAVE_STRUCT_STATFS_F_NAMELEN=1 -D_FILE_OFFSET_BITS=64 -DHAVE_MNTENT_H=1 -DHAVE_SETMNTENT=1 -DKEYMAP_PATH=\"/usr/local/share/rdesktop/keymaps/\" -o rdpsnd_alsa.o -c rdpsnd_alsa.c
rdpsnd_alsa.c:30:28: 错误:alsa/asoundlib.h:没有那个文件或目录
rdpsnd_alsa.c:36: 错误:数组元素的类型不完全
rdpsnd_alsa.c:39: 错误:数组元素的类型不完全
rdpsnd_alsa.c:42: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
rdpsnd_alsa.c:43: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
rdpsnd_alsa.c: 在函数 ‘alsa_add_fds’ 中:
rdpsnd_alsa.c:66: 错误:‘out_handle’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c:66: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
rdpsnd_alsa.c:66: 错误:所在的函数内只报告一次。)
rdpsnd_alsa.c:68: 警告:隐式声明函数 ‘snd_pcm_poll_descriptors_count’
rdpsnd_alsa.c:73: 警告:隐式声明函数 ‘snd_pcm_poll_descriptors’
rdpsnd_alsa.c:77: 错误:自增指向未知结构的指针
rdpsnd_alsa.c:77: 错误:在指向不完全类型的指针上执行算术运算
rdpsnd_alsa.c:79: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:79: 错误:‘POLLIN’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c:80: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:80: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:81: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:81: 错误:‘POLLOUT’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c:82: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:82: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:83: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:83: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:84: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:88: 错误:‘in_handle’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c:99: 错误:自增指向未知结构的指针
rdpsnd_alsa.c:99: 错误:在指向不完全类型的指针上执行算术运算
rdpsnd_alsa.c:101: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:102: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:102: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:103: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:104: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:104: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:105: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:105: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:106: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:80: 错误:汇编输出 0 中左值无效
rdpsnd_alsa.c:82: 错误:汇编输出 0 中左值无效
rdpsnd_alsa.c:102: 错误:汇编输出 0 中左值无效
rdpsnd_alsa.c:104: 错误:汇编输出 0 中左值无效
rdpsnd_alsa.c: 在函数 ‘alsa_check_fds’ 中:
rdpsnd_alsa.c:118: 错误:‘out_handle’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c:120: 错误:自增指向未知结构的指针
rdpsnd_alsa.c:120: 错误:在指向不完全类型的指针上执行算术运算
rdpsnd_alsa.c:122: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:123: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:126: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:126: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:127: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:127: 错误:‘POLLIN’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c:128: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:128: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:129: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:129: 错误:‘POLLOUT’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c:133: 警告:隐式声明函数 ‘snd_pcm_poll_descriptors_revents’
rdpsnd_alsa.c:142: 错误:‘in_handle’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c:144: 错误:自增指向未知结构的指针
rdpsnd_alsa.c:144: 错误:在指向不完全类型的指针上执行算术运算
rdpsnd_alsa.c:146: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:147: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:150: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:150: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:151: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:152: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:152: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:153: 错误:提领指向不完全类型的指针
rdpsnd_alsa.c:126: 错误:内存输入 2 不可直接寻址
rdpsnd_alsa.c:128: 错误:内存输入 2 不可直接寻址
rdpsnd_alsa.c:150: 错误:内存输入 2 不可直接寻址
rdpsnd_alsa.c:152: 错误:内存输入 2 不可直接寻址
rdpsnd_alsa.c: 在顶层:
rdpsnd_alsa.c:167: 错误:expected ‘)’ before ‘*’ token
rdpsnd_alsa.c: 在函数 ‘alsa_open_out’ 中:
rdpsnd_alsa.c:267: 警告:隐式声明函数 ‘snd_pcm_open’
rdpsnd_alsa.c:267: 错误:‘out_handle’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c:267: 错误:‘SND_PCM_STREAM_PLAYBACK’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c:269: 警告:隐式声明函数 ‘snd_strerror’
rdpsnd_alsa.c: 在函数 ‘alsa_close_out’ 中:
rdpsnd_alsa.c:285: 错误:‘out_handle’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c:287: 警告:隐式声明函数 ‘snd_pcm_close’
rdpsnd_alsa.c: 在函数 ‘alsa_set_format_out’ 中:
rdpsnd_alsa.c:328: 警告:隐式声明函数 ‘alsa_set_format’
rdpsnd_alsa.c:328: 错误:‘out_handle’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c: 在函数 ‘alsa_play’ 中:
rdpsnd_alsa.c:367: 警告:隐式声明函数 ‘snd_pcm_writei’
rdpsnd_alsa.c:367: 错误:‘out_handle’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c:370: 警告:隐式声明函数 ‘snd_pcm_prepare’
rdpsnd_alsa.c:384: 错误:‘snd_pcm_sframes_t’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c:384: 错误:expected ‘;’ before ‘delay_frames’
rdpsnd_alsa.c:397: 警告:隐式声明函数 ‘snd_pcm_delay’
rdpsnd_alsa.c:397: 错误:‘delay_frames’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c: 在函数 ‘alsa_open_in’ 中:
rdpsnd_alsa.c:414: 错误:‘in_handle’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c:414: 错误:‘SND_PCM_STREAM_CAPTURE’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c:414: 错误:‘SND_PCM_NONBLOCK’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c: 在函数 ‘alsa_close_in’ 中:
rdpsnd_alsa.c:426: 错误:‘in_handle’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c: 在函数 ‘alsa_set_format_in’ 中:
rdpsnd_alsa.c:438: 错误:‘in_handle’ 未声明 (在此函数内第一次使用)
rdpsnd_alsa.c:441: 警告:隐式声明函数 ‘snd_pcm_start’
rdpsnd_alsa.c: 在函数 ‘alsa_record’ 中:
rdpsnd_alsa.c:460: 警告:隐式声明函数 ‘snd_pcm_readi’
rdpsnd_alsa.c:460: 错误:‘in_handle’ 未声明 (在此函数内第一次使用)
make: *** [rdpsnd_alsa.o] Error 1
# cd /usr/include
# ls alsa
ls: 无法访问 alsa: 没有那个文件或目录
问题看来出在alsa不存在,其实以上这么多错误都是一个错误引起的,找不到头文件。是不是我的编译环境缺一些东西造成的呢?

发表新评论

  • 你可以在文本中使用BBCode标记语言。 URL会自动被转为链接。

更多关於格式化选项的信息

CAPTCHA
请验证您是否是机器人。
Image CAPTCHA
Enter the characters shown in the image.