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

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


相关推荐
用户83514140494914 小时前
把日志和寄存器值喂给AI做故障定位,我的实际问法
linux·ubuntu
进击的荆棘14 小时前
MySQL——在ubuntu环境下安装MySQL
数据库·mysql·ubuntu
易点云徐源1 天前
HP 暗影精灵 PRO 16 安装双系统后,开机直接进入 Windows,按 F9 才能进入 Ubuntu:GRUB 菜单不显示的处理方法
linux·运维·ubuntu
Sayai2 天前
Ubuntu 开发环境搭建避坑(一):网卡 EEE 致 60% 周期性丢包,Realtek RTL8125 网络黑洞排查与修复
linux·运维·网络·ubuntu·性能优化
牢姐与蒯2 天前
WSL2 迁移教程:把Ubuntu+WSL2从C盘挪到别的盘
linux·运维·服务器·网络·ubuntu·1024程序员节
小菜要扣篮2 天前
Ubuntu 下使用 vscode 打开 C++ 项目后,无法通过 F12 定位到定义问题解决
c++·vscode·ubuntu
hhhjhl3 天前
Undici 跨端三方库仓颉适配全流程
java·开发语言·ubuntu
~城南花已开~3 天前
Intel E810 SR-IOV VF Spoofcheck 防伪造测试-KVM3
服务器·网络·笔记·学习·ubuntu·etl工程师
十年磨一剑~3 天前
APT 仓库包查看方法文档
linux·ubuntu
技术小事4 天前
Surface 装 Ubuntu 双系统
linux·运维·ubuntu