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

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


相关推荐
HIT_Weston2 小时前
95、【Ubuntu】【Hugo】搭建私人博客:_default&partials
linux·运维·ubuntu
论迹3 小时前
【Git】-- Git安装 & 卸载(ubuntu)
git·ubuntu·elasticsearch
论迹5 小时前
【Git】-- Git基本操作
git·ubuntu
相偎5 小时前
Ubuntu搭建svn服务器
服务器·ubuntu·svn
oMcLin8 小时前
如何在Ubuntu 22.04 LTS上配置并优化MySQL 8.0分区表,提高大规模数据集查询的效率与性能?
android·mysql·ubuntu
朝阳5818 小时前
Ubuntu 22.04 安装 Fcitx5 中文输入法完整指南
linux·运维·ubuntu
永远在Debug的小殿下8 小时前
wsl安装Ubuntu and ROS2
linux·运维·ubuntu
Ephemeral Memories10 小时前
ubuntu安装软件失败以及运行闪退
linux·ubuntu
linweidong11 小时前
在Ubuntu新版本安装gcc4.8等老版本环境
linux·运维·ubuntu
知识分享小能手11 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04 中安装 Docker 容器 —— 知识点详解(26)
学习·ubuntu·docker