【在 Linux (Ubuntu)服务器上登录 QQ 的超详细步骤指南】
@[TOC](在 Linux (Ubuntu)服务器上登录 QQ 的指南)
在 Linux 服务器上登录 QQ 与在桌面版 Ubuntu 上有很大不同,因为服务器通常没有图形界面。以下是几种可能的解决方案:
方法一:使用命令行QQ机器人(推荐)
这是最实用的方法,适合服务器环境。可以使用基于 Mirai 的 QQ 机器人框架:
安装 Mirai Console Loader (MCL)
# 安装 Java 环境(如果尚未安装)
sudo apt update
sudo apt install openjdk-17-jre
# 下载并安装 MCL
wget https://github.com/iTXTech/mirai-console-loader/releases/download/v2.1.2/mcl-2.1.2.zip
unzip mcl-2.1.2.zip
cd mcl-2.1.2
# 启动 MCL 并自动安装 mirai-core
chmod +x mcl
./mcl
登录QQ账号
1、首次运行时,会生成配置文件
2、编辑 config/Console/AutoLogin.yml 文件:
accounts:
- account: 你的QQ号
password:
kind: PLAIN
value: "你的QQ密码" # 不建议直接存储明文密码
configuration:
protocol: ANDROID_PHONE # 使用安卓手机协议
3、重新启动 MCL,它将尝试自动登录
注意:由于腾讯的安全策略,可能需要处理滑块验证码,这通常在服务器环境下比较困难。
方法二:使用 screen/tmux 维持图形会话
如果服务器有 X11 转发能力,你可以尝试:
# 安装必要的软件
sudo apt install xvfb screen
# 创建一个虚拟显示环境
Xvfb :1 -screen 0 1024x768x16 &
# 使用 screen 或 tmux 创建持久会话
screen -S qq
# 设置显示变量并运行QQ
export DISPLAY=:1
# 然后尝试运行QQ(如果有图形版本)
方法三:使用容器技术
# 使用 Docker 运行一个带有图形界面的容器
docker run -it --rm
-e DISPLAY=$DISPLAY
-v /tmp/.X11-unix:/tmp/.X11-unix
ubuntu:latest /bin/bash
# 在容器内安装QQ(参考桌面版安装方法)
## 如何改变文本的样式
上面的是deepseek生成的,现在开始我的实操过程我选择的是方案2,使用X11来进行转发这个可能需要有图形界面或者生成虚拟的图形界面。
这个方法的 核心思想是:在一个独立的、持久的会话中,创建一个虚拟的图形界面,然后在这个界面里安装和运行QQ。 这样,即使你关闭了SSH连接,这个会话和QQ程序也会继续在服务器后台运行。
环境:Win10客户端、虚拟机(Ubuntu)
基本原理
1.**Xvfb (X Virtual Framebuffer):**服务器没有物理显示器和显卡。Xvfb 是一个虚拟的 X11 显示服务器,它在内存中模拟一个图形显示(如 :1),让图形程序以为自己在真正的显示器上运行,实际上所有图形操作都被虚拟化处理了。
2.**Screen / Tmux:**它们是“终端复用器”,可以创建长时间运行的会话。当你断开SSH连接时,在这个会话中运行的程序不会终止,而是继续执行。之后你可以随时重新连接SSH并接管这个会话,看到程序的实时输出。
3.**环境变量 DISPLAY:**这个变量告诉图形程序应该连接到哪个显示服务器(比如 :0 是物理显示器,:1 是我们的虚拟显示器)。
详细步骤
我们以 Tmux 为例,因为它更现代、功能更强大。
第 1 步:安装必要的软件
通过SSH连接到你的Linux服务器,然后安装所需的软件包。
sudo apt update
sudo apt install xvfb tmux wget
xvfb: 虚拟显示服务器
tmux: 终端复用器(如果喜欢用 screen,可以安装 screen)
wget: 下载工具(用于下载QQ安装包)
第 2 步:创建并进入一个持久的 Tmux 会话
# 创建一个名为 'qq-session' 的 tmux 会话
tmux new-session -s qq-session
# 如果你之后断开连接,想重新接入这个会话,使用:
# tmux attach-session -t qq-session
执行完 tmux new-session… 后,你会立即进入一个新的终端窗口,这就是 qq-session 会话的内部。
第 3 步:在 Tmux 会话中启动虚拟显示器
在 qq-session 中,执行以下命令来启动虚拟显示器。我们将其放在后台运行。
# 在显示编号 :1 上启动 Xvfb,分辨率为 1024x768,色彩深度 16 位
Xvfb :1 -screen 0 1024x768x16 &
:1: 指定显示编号为 1。
-screen 0 1024x768x16: 设置第一个屏幕(screen 0)的分辨率和色彩深度。
&: 让这个命令在后台运行,这样你才能继续在同一个终端里输入其他命令。
关键一步:告诉系统接下来的图形程序要使用我们这个虚拟显示器
export DISPLAY=:1
这条命令设置了一个环境变量,它意味着“所有图形程序,请把画面输出到 :1 这个显示设备上”,也就是我们刚刚启动的 Xvfb。
第 4 步:下载并安装 QQ
现在,你的终端环境已经准备好了虚拟图形界面。你可以在这个 tmux 会话里,按照桌面版的方法安装QQ。
1.下载官方 .deb 包 (以 AMD64 架构为例):
wget https://dldir1.qq.com/qqfile/qq/QQNT/c005c911/linuxqq_3.2.5-21286_amd64.deb
2.安装 QQ:
sudo dpkg -i linuxqq_3.2.5-21286_amd64.deb
# 如果报依赖错误,运行:
sudo apt install -f
第 5 步:运行 QQ 并处理登录
qq
或者从应用程序菜单启动,但在只有终端的服务器上,直接输入 qq 命令通常更可靠。
第 6 步:分离会话并保持运行
假设你 somehow 完成了登录(例如通过某种方式看到了界面并扫码成功)。
1.按下 Tmux 的默认前缀键 Ctrl + b,然后松开,再按一个键:
按下 d:分离当前会话。你会退出 tmux 会话,回到原始的系统 Shell,但 tmux 会话和里面的 QQ 进程都在后台继续运行。
按下 %:水平分割窗口,方便你同时看日志和操作。
2.现在你可以安全地关闭 SSH 连接了。QQ 会在后台继续运行。
3.当你需要回来查看QQ时,重新SSH登录服务器,然后执行:
tmux attach-session -t qq-session
你就会重新看到你之前的操作界面。
非常详细地讲解如何在 Linux 服务器和客户端之间配置 X11 转发。这个过程分为服务器端配置和客户端配置两大步骤
第 1 部分:服务器端(Server)配置
通过 SSH 连接到你的 Linux 服务器。
- 安装必要的软件包
首先,确保服务器上安装了 X Window System 的基础组件和 SSH 服务器。通常是 xauth 这个关键包。
# 对于 Ubuntu/Debian
sudo apt update
sudo apt install xauth openssh-server
# xauth 用于处理 X11 的身份认证(Authentication),必须安装。
# openssh-server 通常已安装,但确保其是最新的。
- 配置 SSH 服务以启用 X11 转发
需要修改 SSH 服务器的配置文件。
使用文本编辑器(如 nano 或 vim)打开配置文件:
sudo nano /etc/ssh/sshd_config
找到以下行,确保它们被设置成 yes(如果行首有 # 注释,请删除它):
X11Forwarding yes
X11UseLocalhost no
X11Forwarding yes: 启用 X11 转发功能。
X11UseLocalhost no: 这个配置允许从服务器本机以外的客户端连接过来(在某些配置下很重要)。如果调整后有问题,可以将其改为 yes 再试。
(可选但推荐) 设置转发监听的地址。找到并修改这一行:
X11DisplayOffset 10
这指定了 SSH 服务器启动的 X11 服务器显示号偏移量。通常显示号会是 10(即 localhost:10.0),这可以避免与服务器上可能存在的真实显示 :0 冲突。
保存并退出编辑器(在 nano 中按 Ctrl+X,然后按 Y,最后按 Enter)。
重新加载 SSH 服务 以使配置生效:
sudo systemctl reload ssh
# 或使用旧命令: sudo service ssh reload
注意: 不是 restart,而是 reload,这样不会断开现有的 SSH 连接。
第 2 部分:客户端(Client)配置
在你的本地 Linux 或 macOS 电脑上操作。
- 确保本地 X11 服务器正在运行
Linux 桌面用户(GNOME, KDE, Xfce等):你已经在运行一个 X11 服务器(通常是 Xorg 或 Wayland 下的 Xwayland),无需额外操作。几乎所有桌面版 Linux 都自带。
macOS 用户:需要安装一个 X11 服务器。最流行的选择是 XQuartz。下载并安装它,然后务必重启电脑。
Windows 用户:需要安装一个 X11 服务器。常见选择有:
VcXsrv (推荐,轻量且易用)
下载 VcXsrv。
运行安装程序,全部选择默认选项即可。
安装完成后,从开始菜单启动 XLaunch。
会出现一个配置向导,请按照下图所示的选项进行配置:
Display settings: 保持 “Multiple windows”,Display number 设为 -1 或 0。
Client startup: 选择 “Start no client”。
Extra settings: 必须勾选 “Disable access control”。这一步非常重要,否则服务器会无法连接到你的本地 X 服务器。
点击完成,VcXsrv 会启动并在系统托盘运行。你会看到一个防火墙提示,务必允许它通过公用和专用网络。
2. 通过 SSH 连接并启用转发
现在,从你的本地终端使用 -X 或 -Y 选项进行 SSH 连接。
-X: 启用受信任的 X11 转发。这是传统的、限制更多的方式,某些高级图形功能可能被禁用。
-Y: 启用不受信任的 X11 转发。这会绕过一些安全限制,可能对某些程序(如基于 Qt/Gtk 的现代程序)兼容性更好。如果 -X 不工作,首先尝试 -Y。
连接命令:
ssh -Y username@your_server_ip
例如:ssh -Y root@192.168.1.100
- 验证转发是否成功
登录到服务器后,可以通过以下命令检查是否配置正确:
检查 $DISPLAY 环境变量:
echo $DISPLAY
如果配置成功,通常会输出 localhost:10.0 或类似的内容(例如 localhost:11.0)。这表示图形程序将被转发到 SSH 客户端机器的 10.0 显示。
5. 如果 DISPLAY 仍然是空的,尝试手动设置
如果 SSH 没有自动设置 DISPLAY 变量,你可以尝试手动设置它指向你的 Windows 机器:
首先,在 Windows 上找到你的 IP 地址:
打开 CMD
输入 ipconfig
找到 “IPv4 Address”,通常是 192.168.x.x
然后在 Ubuntu 虚拟机的 SSH 会话中:
export DISPLAY=你的WindowsIP:0.0
# 例如:export DISPLAY=192.168.130.1:0.0
# 尝试一:xeyes (一对跟着你鼠标走的大眼睛)
xeyes &
如果配置一切正确,这些程序的窗口应该会在你的本地电脑上弹出来。
5.运行 QQ
如果测试程序(xeyes)能成功显示,那么就可以运行QQ了。
在 SSH 会话中安装 QQ(如果还没安装):
qq &
加上 & 是让它在后台运行,这样你不会阻塞终端。
完成登录:
现在,QQ 的登录界面应该会出现在你的本地电脑上! 你可以使用二维码扫码登录,或者输入账号密码。






