WSL + ubantu22.04 + 远程桌面闪退+黑屏闪退解决

WSL简介(WSL官方文档):

WSL(Windows Subsystem for Linux)是微软开发的一项技术,允许用户在Windows系统中直接运行完整的Linux环境,无需虚拟机。通过操作系统级虚拟化,WSL将Linux子系统无缝嵌入Windows,提供原生Linux命令行工具、软件包管理器及应用程序支持。它具有轻量化、文件系统集成、良好的交互性及开发效率提升等优点,消除了Windows与Linux之间的隔阂,尤其适合开发者和需在Windows平台上使用Linux工具的用户。

1) 以管理员身份打开PowerShell
2) 输入命令,启用WSL功能

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

3)下载Ubuntu20.04(离线版Ubuntu20.04安装),终端进入指定路径

输入以下命令修改文件名及格式

Rename-Item CanonicalGroupLimited.UbuntuonWindows_2004.2021.825.0.AppxBundle Ubuntu-20.04.zip

修改后右键解压Ubuntu-20.04.zip文件到当前目录,命名为Ubuntu-20.04,进入该文件路径后

输入以下命令修改文件名及格式

Rename-Item Ubuntu_2004.2021.825.0_x64.appx Ubuntu_x64.zip

修改后右键解压Ubuntu_x64.zip文件到当前目录,命名为Ubuntu_x64

进入该路径

输入以下命令,使用WSL2并启动Ubuntu

wsl --import Ubuntu-20.04 D:\WSL\Ubuntu-20.04\ D:\WSL\Ubuntu-20.04\Extracted\Ubuntu_x64\install.tar.gz --version 2

wsl -d Ubuntu-20.04

此时手动安装的Ubuntu默认root用户,需要通过 adduser "用户名" 命令创建新用户

usermod -aG sudo "用户名" # 赋予新用户管理员权限

wsl -d Ubuntu-20.04 -u yourusername # 仅本次以普通用户登录

以下命令为设置默认用户登录

sudo vim /etc/wsl.conf # 创建配置文件

sudo passwd root # 设置管理员密码

wsl --shutdown # 重启

wsl -l -v # 查看安装

##################################################

// 进入超级用户

wsl --distribution Ubuntu-20.04 --user root

// 进入普通用户

wsl --distribution Ubuntu-20.04

// 进入指定用户

wsl --distribution Ubuntu-20.04 -u nys

##################################################

配置虚拟桌面():

sudo apt-get install xorg # 安装xrog,这是xfce桌面需要的一个基础依赖,开机时提供登陆界面

sudo apt-get install xfce4 # 安装xfce4

sudo apt-get install xrdp # 安装xrdp,xrdp 通过远程桌面的方式来访问另外一台主机

sudo sed -i 's/port="端口号"/port="端口号"/g' /etc/xrdp/xrdp.ini # 设置端口号

sudo echo xfce4-session >~/.xsession # 向xsession中写入xfce4-session

sudo service xrdp restart # 重启xrdp服务,每次关机后连接都需要启动xrdp服务

Note:

Windows系统所在路径:

WSL2 发行版的文件存储在虚拟磁盘映像文件(ext4.vhdx) 中,该文件用于存储整个 Ubuntu-20.04 文件系统

VSCode通过SSH链接WSL

需打开WSL的SSH服务

wsl -l -v

wsl --distribution Ubuntu-20.04 --user root

sudo service ssh status

sudo service ssh start

sudo systemctl enable ssh

sudo service ssh status

win11+WSL+Ubuntu-xrdp+远程桌面闪退+黑屏闪退解决:

打开 /etc/xrdp/startwm.sh,在最后添加两行:

unset DBUS_SESSION_BUS_ADDRESS

unset XDG_RUNTIME_DIR

然后重启一下xrdp服务:service xrdp restart ,就可以远程连接了。备忘

或者试一下,在startwm.sh的顶部加上以下内容:

unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR $HOME/.profile

解决"Authentication is required to create a color profile/managed device"

问题:

在Windows下使用远程桌面连接到工作站的Ubantu系统后,经常会出现以下两个弹窗,十分烦人:
Authentication is required to create a color profile
Authentication is required to create a color managed device

1.运行终端

复制代码
sudo vi /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla

2.编辑和保存下面内容

复制代码
[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes

解决系统支持中文【安装中文支持】

步骤 1: 安装中文语言包
  • 更新软件包列表:

sudo apt update

  • 安装中文语言包:

sudo apt-get install language-pack-zh-hans

步骤 2: 配置中文环境

添加中文语言支持

  • 运行以下命令以重新配置系统语言:

sudo dpkg-reconfigure locales

  • 在弹出的界面中,使用方向键找到 zh_CN.UTF-8 UTF-8 ,按下空格键选中,然后按 Tab 键跳转到 OK 并回车。

设置默认语言

  • 设置系统默认语言为中文:

sudo update-locale LANG=zh_CN.UTF-8

  • 可选:在 /etc/profile~/.bashrc 文件末尾添加以下内容以确保环境变量支持中文:

export LANG=zh_CN.UTF-8

export LC_CTYPE="zh_CN.UTF-8"

步骤 3: 重启验证
  • 重启系统以应用更改:
sudo reboot
  • 系统重启后,打开终端或桌面环境,确认界面和输出是否已切换为中文。
相关推荐
fantasy5_52 小时前
Linux 动态进度条实战:从零掌握开发工具与核心原理
linux·运维·服务器
翩若惊鸿_2 小时前
【无标题】
开发语言·c#
weixin_462446232 小时前
exo + tinygrad:Linux 节点设备能力自动探测(NVIDIA / AMD / CPU 安全兜底)
linux·运维·python·安全
..过云雨2 小时前
17-2.【Linux系统编程】线程同步详解 - 条件变量的理解及应用
linux·c++·人工智能·后端
Da Da 泓2 小时前
多线程(七)【线程池】
java·开发语言·线程池·多线程
杰瑞不懂代码2 小时前
基于 MATLAB 的 BPSK/QPSK/2DPSK 在 AWGN 信道下的 BER 性能仿真与对比分析
开发语言·matlab·qpsk·2psk·2dpsk
oMcLin3 小时前
CentOS 7 频繁出现 “Connection Refused” 错误的原因分析与解决
linux·运维·centos
小鸡脚来咯3 小时前
python虚拟环境
开发语言·python
龘龍龙3 小时前
Python基础(九)
android·开发语言·python