Ubuntu键盘错位(@变成“”,~波浪线打不出来)

贴一下笔者博客链接

Ubuntu键盘错位(@变成“”,~波浪线打不出来)

在安装了搜狗输入法后出现了键盘布局错位的问题,@号和“”号位置互换,波浪线无法打出来。解决方法如下:

只需要打开fcitx配置工具,然后在输入法设置中将英文键盘布局放到搜狗输入法的键盘布局下面即可。

<think> 我们被要求解释在Ubuntu系统中执行的一系列命令的作用。这些命令涉及到修改xrdp配置、设置会话环境以及管理xrdp服务。下面将逐条解释每个命令的作用,并提供相关的背景信息。 ### 命令解释 1. **修改xRDP服务端口**: ```bash sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini ``` - **作用**:使用`sed`工具直接修改xRDP的主配置文件`/etc/xrdp/xrdp.ini`,将默认的监听端口从3389更改为3390。 - **背景**:xRDP默认使用3389端口,该端口也是Windows远程桌面的默认端口。为避免冲突或增强安全性,管理员可能希望更改端口[^2]。 - **技术细节**:`-i`选项表示直接修改文件;`s/old/new/g`是sed的替换命令,全局替换所有匹配的字符串。 2. **设置默认会话类型**: ```bash echo "gnome-session" > ~/.xsession ``` - **作用**:将字符串`gnome-session`写入当前用户家目录下的`.xsession`文件(覆盖原有内容)。 - **背景**:该文件用于指定用户登录时启动的图形会话类型。此处设置为GNOME桌面环境,适用于使用GNOME的Ubuntu系统[^1]。 3. **配置会话环境变量**: ```bash echo "export GNOME_SHELL_SESSION_MODE=ubuntu" >> ~/.xsession echo "export XDG_CURRENT_DESKTOP=ubuntu:GNOME" >> ~/.xsession ``` - **作用**:向`.xsession`文件追加两行环境变量设置: - `GNOME_SHELL_SESSION_MODE=ubuntu`:指定GNOME Shell以Ubuntu定制模式运行。 - `XDG_CURRENT_DESKTOP=ubuntu:GNOME`:声明当前桌面环境为Ubuntu定制的GNOME。 - **背景**:这些变量确保远程会话正确加载Ubuntu的GNOME扩展和主题[^2]。 4. **指定会话启动命令**: ```bash echo "exec /usr/bin/gnome-session" >> ~/.xsession ``` - **作用**:在`.xsession`文件末尾追加命令`exec /usr/bin/gnome-session`,指示系统启动完整的GNOME会话。 - **技术细节**:`exec`命令会用新进程替换当前shell进程,确保GNOME会话成为用户会话的根进程。 5. **重启xRDP服务**: ```bash sudo systemctl restart xrdp ``` - **作用**:通过`systemctl`重启xRDP服务,使端口修改生效。 - **补充**:该命令会中断现有连接,重新加载配置文件。 6. **启动xRDP服务**: ```bash sudo service xrdp start ``` - **作用**:启动xRDP服务(若未运行)。在Ubuntu中,`service`命令是`systemctl`的兼容性包装。 - **注意**:若服务已在运行,则`restart`已确保配置生效,此处的`start`可能是冗余操作,但可确保服务状态。 ### 配置文件作用总结 | **文件路径** | **功能描述** | |------------------------|----------------------------------------------------------------------------| | `/etc/xrdp/xrdp.ini` | 主配置文件,定义端口、安全设置等全局参数 | | `~/.xsession` | 用户级会话配置文件,指定登录时启动的桌面环境和环境变量 | ### 技术原理 - **xRDP工作流程**: 1. 客户端连接xRDP守护进程(监听3390端口) 2. xRDP调用`sesman`(会话管理器)验证用户身份 3. `sesman`根据用户配置启动X会话(读取`~/.xsession`) 4. 桌面环境(如GNOME)加载环境变量并渲染界面 ### 常见问题解决方案 - **连接失败**: - 检查防火墙:`sudo ufw allow 3390` - 验证服务状态:`sudo systemctl status xrdp` - **黑屏/闪退**: - 确保`.xsession`文件权限正确:`chmod 644 ~/.xsession` - 检查GNOME兼容性:Ubuntu 18.04+建议使用`xorgxrdp`后端 ### 扩展配置建议 - **多用户环境**:每个用户可自定义`.xsession`(如使用XFCE:`echo "xfce4-session" > ~/.xsession`) - **日志调试**:`tail -f /var/log/xrdp.log` --- ### 相关问题 1. **如何为同用户设置同的远程桌面环境?** 2. **xRDP连接后出现灰色屏幕或光标闪烁怎么办?** 3. **在Ubuntu 22.04中如何配置xRDP使用Wayland?** 4. **如何让xRDP服务在系统启动时自动运行?** [^1]: `.xsession`文件用于定义X Window System的用户会话配置 [^2]: 环境变量`XDG_CURRENT_DESKTOP`影响桌面组件加载行为 </think> ### Ubuntu系统中xRDP相关命令详解 #### 💻 1. **修改xRDP服务端口** ```bash sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini ``` - **作用**:修改xRDP默认监听端口 - **技术细节**: - `sed -i`:直接编辑文件 (`-i` = in-place) - `s/old/new/g`:全局替换文本模式 - 将默认端口3389改为3390(避开常见端口冲突) - **系统影响**:修改后需重启服务生效,防火墙需同步更新[^2] #### 🖥️ 2. **配置GNOME桌面会话** ```bash echo "gnome-session" > ~/.xsession ``` - **作用**:指定远程连接时启动GNOME桌面环境 - **文件说明**: - `~/.xsession`:用户级X会话启动脚本 - 覆盖写入(`>`)确保首选GNOME会话 - **适用场景**:Ubuntu默认桌面环境配置[^1] ```bash echo "export GNOME_SHELL_SESSION_MODE=ubuntu" >> ~/.xsession echo "export XDG_CURRENT_DESKTOP=ubuntu:GNOME" >> ~/.xsession ``` - **作用**:设置GNOME会话模式和环境变量 - **关键变量**: - `GNOME_SHELL_SESSION_MODE=ubuntu`:启用Ubuntu定制扩展 - `XDG_CURRENT_DESKTOP=ubuntu:GNOME`:声明桌面环境标识 - **技术意义**:确保远程会话加载正确的UI组件和主题 ```bash echo "exec /usr/bin/gnome-session" >> ~/.xsession ``` - **作用**:执行GNOME会话二进制文件 - **路径说明**:`/usr/bin/gnome-session`是Ubuntu的标准会话启动器 - `exec`:替换当前进程,节省系统资源 #### 🔄 3. **服务管理命令** ```bash sudo systemctl restart xrdp ``` - **作用**:重启xRDP服务使配置生效 - **等效命令**:`sudo service xrdp restart` ```bash sudo service xrdp start ``` - **作用**:确保服务处于运行状态 - **冗余说明**:若已通过`restart`启动,此命令可省略 ### 💡 技术原理示意图 ```mermaid graph LR A[远程客户端] --> B[xRDP服务<br>端口3390] B --> C[会话管理器] C --> D[读取~/.xsession] D --> E[启动GNOME] E --> F[加载环境变量] F --> G[渲染Ubuntu界面] ``` ### ⚠️ 常见配置问题 1. **端口冲突**:若3390被占用,需再次修改端口 ```bash sudo netstat -tuln | grep 3390 ``` 2. **桌面加载失败**:检查GNOME是否安装 ```bash dpkg -l | grep gnome-session ``` --- ### 📚 相关问题 1. **xRDP连接后出现灰色屏幕可能是什么原因?** 2. **如何为同用户配置同的远程桌面环境?** 3. **Ubuntu 22.04中Wayland会话如何通过xRDP使用?** 4. **如何配置xRDP使用SSL/TLS加密连接?** [^1]: `.xsession`文件决定用户会话类型 [^2]: 端口修改需同步更新防火墙规则
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值