本文主要介绍Xshell的常见问题和常见配置。

说明:

  • 本文内容主要是针对“Xshell 5”和“Xshell 6”版本的,其他版本需根据实际情况进行调整;
  • 涉及到“属性”配置,如果当前Xshell已经连接到了一台服务器,那么在此会话窗口中进行的属性配置,只会针对该服务器的会话生效;如果想要对所有的会话属性进行配置,则需要在未连接服务器的会话窗口中,进行相关的属性配置操作。

1 常见问题

1. vi编辑器中,INSERT模式下Backspace按键无法删除字符的问题

要解决上述问题,需要进行以下设置:

a)点击“属性”按钮,如下:

打开“属性窗口”。

b)选择“属性”窗口左侧的“终端”标签,将“终端”标签对应的“终端类型”设置为“linux”,如下:

c)选择“属性”窗口左侧的“键盘”标签,将“键盘”标签对应的“功能键类型”设置为“linux”,“DELETE键序列”设置为“VT220 Del (Esc[3~])”,“BACKSPACE键序列”设置为“ASCII 127 (Ctrl+?)(I)”,如下图:

d)某些情况下,由于vim和系统自带的vi的兼容性以及一些默认设置问题,需要修改vim的配置文件“.vimrc”(此文件位于用户根目录下),在该文件中添加不兼容性设置,以及BACKSPACE的一些设置,如下:

完成上述设置后,即可实现在vi的INSERT模式下Backspace的删除字符功能。

2. vi编辑器中,中文乱码的问题

在vi编辑器中出现中文乱码时,我们可以从下面三个方面进行问题排查:

  1. Xshell的编码格式;
  2. Linux操作系统的默认语言(编码);
  3. 出现乱码的文件的编码。

通常情况下,保持这三者编码格式一致,即可解决乱码的问题。

下面举例说明具体的问题排查方法。下面的“test.cpp”中的中文出现乱码,如下:

1)我们首先查看Xshell的编码格式,点击Xshell界面的“属性”按钮,打开属性窗口,查看编码格式,如下:

从上图中,能够看到Xshell的编码格式为“UTF-8”。

2)使用locale命令,查看Linux操作系统的默认语言,如下:

从上图中,能够看到当前Linux操作系统的默认语言为“en_US.UTF-8”。

3)使用file命令,查看中文乱码文件的编码格式,如下:

在上图中,可以看到“test.cpp”文件的编码格式为“ISO-8859”,与Xshell、Linux系统的编码格式不一致,所以需要修改其编码格式。可以使用iconv命令,将“test.cpp”文件的编码格式修改为“UTF-8”,如下:

iconv -f GBK -t utf-8 -o test.cpp test.cpp

修改后,再次查看“test.cpp”文件的编码格式,如下:

此时,“test.cpp”文件的编码格式已经变为UTF-8了。打开该文件,可以看到中文能够正常显示了,如下:

3. 终端连接断开后,服务器程序自动退出

Xshell连接到服务器后,如果我们直接在Xshell窗口里运行程序,那么一旦因为网络故障之类的原因导致Xshell断开连接的话,这个程序就会中止运行(即退出),可以借助nohup命令来避免这个问题。

nohup命令的相关信息,介绍如下:

nohup - run a command immune to hangups, with output to a non-tty

通过nohup命令,可以使程序免除Xshell断开时hangup机制的影响,保证连接断开时程序正常运行。

nohup命令格式如下:

nohup COMMAND [ARG]...

例如,现有如下命令:

./h264_rtsp_server livestream_afp_3001000621-03-10.53.11.767.h264

默认情况下,该命令运行后,会随着Xshell断开而终止运行。借助nohup命令后,该命令变为:

nohup ./h264_rtsp_server livestream_afp_3001000621-03-10.53.11.767.h264

此时,即使断开Xshell(或者关闭当前终端)也不会终止h264_rtsp_server程序。

GitHub 加速计划 / li / linux-dash
10
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:1 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐