wsl2-ubuntu-cv.show 小黑窗问题, 配置 VcXsrv ,xfce4 无法显示 terminal

参考

https://www.cnblogs.com/blauendonau/p/14166062.html

配置脚本

bash 复制代码
#!/bin/bash

# 安装xfce4并配置为systemd服务的脚本
# 适用于Ubuntu/WSL环境

echo "========================================"
echo "安装xfce4并配置为systemd服务脚本"
echo "========================================"

# 检查是否为root用户
if [ "$EUID" -ne 0 ]; then
    echo "错误:请使用root用户运行此脚本"
    echo "使用: sudo $0"
    exit 1
fi

# 1. 更新包列表
echo "1. 更新包列表..."
apt update -y
if [ $? -ne 0 ]; then
    echo "错误:更新包列表失败"
    exit 1
fi

# 2. 安装xfce4和相关组件
echo "2. 安装xfce4和相关组件..."
apt install -y xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
if [ $? -ne 0 ]; then
    echo "错误:安装xfce4失败"
    exit 1
fi

# 3. 配置DISPLAY环境变量
echo "3. 配置DISPLAY环境变量..."
# 检查当前用户
CURRENT_USER=$(logname 2>/dev/null || echo "$SUDO_USER")
if [ -z "$CURRENT_USER" ]; then
    CURRENT_USER="vin"  # 默认用户
fi

# 配置DISPLAY环境变量到用户的.bashrc
DISPLAY_VAR="export DISPLAY=localhost:0.0"
if ! grep -q "$DISPLAY_VAR" /home/$CURRENT_USER/.bashrc; then
    echo "$DISPLAY_VAR" >> /home/$CURRENT_USER/.bashrc
    echo "已添加DISPLAY环境变量到 /home/$CURRENT_USER/.bashrc"
else
    echo "DISPLAY环境变量已存在"
fi

# 4. 创建systemd服务文件
echo "4. 创建systemd服务文件..."
cat > /etc/systemd/system/xfce4.service << EOF
[Unit]
Description=Xfce4 Desktop Environment
After=network.target

[Service]
Type=simple
User=$CURRENT_USER
Environment=DISPLAY=localhost:0.0
ExecStart=/usr/bin/startxfce4
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

if [ $? -ne 0 ]; then
    echo "错误:创建systemd服务文件失败"
    exit 1
fi

# 5. 重新加载systemd配置
echo "5. 重新加载systemd配置..."
systemctl daemon-reload

# 6. 启用并启动xfce4服务
echo "6. 启用并启动xfce4服务..."
systemctl enable xfce4
systemctl start xfce4

# 7. 验证安装和配置
echo "7. 验证安装和配置..."
echo ""
echo "=== 验证结果 ==="
echo "- xfce4版本: $(xfwm4 --version | head -1)"
echo "- 服务状态: $(systemctl is-active xfce4)"
echo "- 服务启用状态: $(systemctl is-enabled xfce4)"
echo "- DISPLAY环境变量: $(grep -E '^export DISPLAY' /home/$CURRENT_USER/.bashrc)"
echo ""

# 8. 显示使用说明
echo "========================================"
echo "安装完成!"
echo "========================================"
echo "使用说明:"
echo "1. 启动xfce4服务:sudo systemctl start xfce4"
echo "2. 停止xfce4服务:sudo systemctl stop xfce4"
echo "3. 查看服务状态:sudo systemctl status xfce4"
echo "4. 直接运行xfce4:startxfce4"
echo ""
echo "注意:在WSL环境中,需要确保Windows宿主机已安装并运行X11服务器(如VcXsrv)"
echo "或者使用WSLg的RDP功能连接:mstsc /v:localhost:3390"
echo "========================================"

xfce4 无法显示 terminal ,配置默认程序 xfce terminal

Error constructing proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0: Error calling StartServiceByName for org.gnome.Terminal: Timeout was reached

注意事项

xfce4 使用非root 账号
xfce4 使用非root 账号
xfce4 使用非root 账号

User=$CURRENT_USER

Environment=DISPLAY=localhost:0.0

指定窗口大小避免黑窗口问题


相关推荐
老兵发新帖6 小时前
ubuntu添加用户完整命令
linux·运维·ubuntu
horizon72746 小时前
如何迁移 WSL2 虚拟机到其他磁盘
linux·ubuntu
大连好光景9 小时前
WSL下创建的Ubuntu系统与Windows实现显卡直通
linux·运维·ubuntu
huangjiazhi_9 小时前
Ubuntu 添加服务自启动
linux·运维·ubuntu
GDAL10 小时前
腾讯云ubuntu安装nodejs环境
ubuntu·nodejs·腾讯云
SCBAiotAigc11 小时前
在Ubuntu上使用docker compose安装普通(不支持GPU)的Ollama服务
人工智能·python·ubuntu·ollama
Ancelin安心11 小时前
关于代理的一些网络知识复盘
linux·运维·网络·计算机网络·web安全·ubuntu·网络安全
Norach12 小时前
Ubuntu升级opencv版本至4.9.0
linux·经验分享·opencv·yolo·ubuntu·dnn
linzihahaha12 小时前
vmware-ubuntu 虚拟机共享文件及复制拖动配置
linux·运维·ubuntu
HIT_Weston12 小时前
70、【Ubuntu】【Hugo】搭建私人博客:新建站点
linux·运维·ubuntu