avatar

SLHAF's blog

SLHAF的个人博客

  • 首页
  • 分类
  • 标签
  • 归档
  • 友链
主页 为无头服务器配置带 GUI 的 Clash 客户端:基于 Xvfb + VNC 的解决方案
文章

为无头服务器配置带 GUI 的 Clash 客户端:基于 Xvfb + VNC 的解决方案

发表于 2天前 更新于 2天前
作者 slhaf
7~9 分钟 阅读

自从这香橙派买来作为服务器之后,不管是在校还是在家,除了在外使用流量的场景,几乎都是通过这服务器连接校园网或自家的宽带、通过create_ap进行上网的。直到某天突然想到,既然我都通过它上网了,那为啥还要在其他设备上再专门跑一个网络代理应用?🤔

于是就开始尝试在服务器上配置Clash...

但不得不说这种没有图形界面,不管是导入配置、切换节点似乎都挺不方便的,只好想了个笨方法:通过xvbf+VNC运行带有GUI界面的Clash版本。

具体操作

  1. 下载一个好用的Clash客户端,这里我用的Clash-Verge.
  2. 安装xvfb和VNC, 运行如下代码。其中xvfb负责提供虚拟 X 环境,x11vnc负责将 X11 桌面共享为 VNC。
sudo apt install -y xvfb x11vnc
  1. 启动桌面环境+VNC,如下。不过建议开启一个tmux会话,在会话内部运行,防止终端退出后启动的应用也停止。
# 启动虚拟桌面 :1,大小 1280x800
Xvfb :1 -screen 0 1280x800x24 &

# 设置 DISPLAY 环境变量
export DISPLAY=:1

# 启动 VNC 服务器,设置密码
x11vnc -display :1 -passwd yourpassword -forever -nopw -shared &
  1. 接下来就是启动Clash客户端了,直接运行即可。
clash-verge
  1. 在自己电脑上下载VNC客户端,这里用的是TigerVNC。
yay -S tigervnc
  1. 发起连接,x11vnc的默认VNC端口为5900,记得对自己本地设备放开防火墙。

image-ZIof.png

注意这里是两个冒号,至于为啥是两个...ChatGPT这样解释的:

格式说明实际连接端口
192.168.12.1:0连接 VNC display :05900
192.168.12.1:1display :15901
192.168.12.1::5900直接连接端口5900(而非通过 display 号)5900
  1. 接下来输入第3步中设置的VNC服务器密码,就能够正常看到熟悉的带有GUI界面的Clash客户端了。代理啥的正常配置即可,在本地设备配置时同样也需要注意对设备放开防火墙。

image-KtmN.png

总结

虽然这个方案在资源占用上不算轻量吧,但也还能用,当然如果不想放弃轻量+可视化这两个点的话,也可以去尝试 clash核心+yacd 这种思路。

bash, 香橙派, 网络
香橙派 Linux 脚本
许可协议:  CC BY 4.0
分享

相关文章

8月 4, 2025

为无头服务器配置带 GUI 的 Clash 客户端:基于 Xvfb + VNC 的解决方案

作者使用香橙派作为服务器,通过`create_ap`共享网络,并尝试在无图形界面的Linux服务器上运行带GUI的Clash客户端。为解决配置不便的问题,采用`xvfb`提供虚拟X环境,配合`x11vnc`实现VNC远程桌面连接,最终通过TigerVNC客户端访问图形化Clash-Verge界面。该方法虽然资源占用较高,但实现了服务器端代理的可视化管理,同时提到轻量级替代方案如clash核心+yacd面板。

8月 3, 2025

Manjaro/X11 环境下通过 bbswitch 关闭 NVIDIA 显卡以延长续航

本文介绍了在Manjaro/X11环境下通过禁用NVIDIA显卡模块和使用bbswitch关闭显卡电源来延长笔记本续航的方法。作者发现混合显卡笔记本在Linux系统中存在高功耗问题,经过排查确定NVIDIA显卡是主要耗电源。解决方案包括修改模块配置文件、创建切换脚本以及利用bbswitch动态监测显卡状态,同时配合CPU频率调整等优化措施。该方法可使续航提升至5小时左右,但仅适用于NVIDIA显卡和X11显示环境,且需要重启才能生效切换。

8月 2, 2025

关于Bottles中同一容器内不同应用需要配置不同显卡方案的解决办法

在Bottles容器中运行不同应用时遇到显卡配置冲突问题:MC《落幕曲》需关闭独显而Epic需开启独显。通过修改`bottle.yml`的`discrete_gpu`字段可切换配置,但需手动操作。为此编写了两个脚本:`bottles-gpu-switch`用于动态修改显卡状态,`bottles-desktop-patch`用于调整`.desktop`文件的启动命令。该方案仅适用于终端或快捷方式启动,GUI界面仍需手动设置。

下一篇

Manjaro/X11 环境下通过 bbswitch 关闭 NVIDIA 显卡以延长续航

上一篇

最近更新

  • 为无头服务器配置带 GUI 的 Clash 客户端:基于 Xvfb + VNC 的解决方案
  • Manjaro/X11 环境下通过 bbswitch 关闭 NVIDIA 显卡以延长续航
  • 关于Bottles中同一容器内不同应用需要配置不同显卡方案的解决办法
  • day_3 分布式入门: Gateway
  • day_2 分布式入门: Sentinel

热门标签

Java 日常 分布式 Linux 学习 脚本 智能体 香橙派

目录

©2025 SLHAF's blog. 保留部分权利。

使用 Halo 主题 Chirpy