2021-07-28_Ubuntu18.04如何关闭Xorg图形界面使用tty纯命令跑程序?

本文介绍了如何在Ubuntu18.04系统中通过关闭Xorg图形界面来提升命令行运行效率,特别是在进行深度学习时解决显存不足的问题。通过切换TTY终端并使用`pkill Xorg`或`kill`命令温和地关闭Xorg,可以释放显存资源。同时,文章还教授了如何关闭不必要的TTY终端,以优化系统资源的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

痛点1:显卡只有8G,经常gradient overflow或者CUDA OOM:)
痛点2:主机连接数4k显示器,经常系统卡住,只有鼠标能动,某度知道热心网友说等几分钟试试
刚好有一个模型是在命令行运行,那就是试试关闭Xorg图形界面,使用纯命令行提升一下逼格!
(by the way,人家用的是v100 至少16G)
环境:台式机,单系统Ubuntu18.04LTS

必学1:tty基础

TTY简介

TTY 这个词来自 TeleTYpewriter(电传打字机)。在 Unix 的早期,连接到计算机的用户终端就是机电的电传机或电传打字机(简称 tty)。从那时起,TTY 这个名称继续用于纯文本控制台。如今,所有文本控制台都代表虚拟控制台,而不是物理控制台。

在Ubuntu 18.04中切换TTY的方法

默认情况下,Linux 系统中有 7 个 tty。它们被称为 tty1、tty2……tty7。2到 6 的 tty 只是命令行,第 1 个 tty 是 GUI(图形桌面会话)。使用 CTRL+ALT+Fn 键在不同的 TTY 之间切换,例如,要切换到 tty1,按下 CTRL+ALT+F1即可。

必学2:如何关闭Xorg

  1. Ctrl+Alt+F2-F6进入tty2-6任意一个终端中
  2. w -s查看所有激活的tty的情况
  3. sudo pkill Xorg (简单粗暴)
  4. ps -t tty1查看tty1中Xorg的PID号,再sudo kill pid(细致温柔)

不管是粗暴(1-2-3)还是温柔(1-2-4)的kill Xorg,之后都会转入Ubuntu登录界面,按组合键进入tty2-6之一使用w -s 或者 nvidia -smi,可以发现显存占用果然减少了!

tty1有时候显示为“:0”,其实它就是tty1。
kill Xorg的pid即可,其他的例如sound、mouse、keyboard别动!
kill tty1的Xorg之后,再ps -t tty1查看发现还是存在Xorg进程,但是“TIME 00:00:00”,表示tty1没有运行Xorg.输入w -s可以发现没有tty1了!
kill命令的执行者必须是超级用户或对tty1的进程有操作权限,否则,命令会报错:Operation not permitted

必学3:关闭多余的tty终端

  1. Ctrl+Alt+F2-F6进入tty2-6任意一个终端中
  2. w -s查看所有激活的tty的情况
 username@computername:~$ w -s
USER TTY FROM IDLE WHAT
root tty1 0 56:40 
root tty2 0 36:24 run.sh wiki
root tty3 0 0.00s w -s
  1. ps -t tty4查看目标tty中CMD的PID号,再sudo kill pid
 username@computername:~$ ps -t tty4
 PID   TTY TIME        CMD
 4791 tty4  00:00:00   login
 9619 tty4  00:00:00   bash

感谢:
在Ubuntu 18.04系统中不使用功能键切换TTY的方法

update 2021.08.08
在跑深度学习的时候,由于在终端运行,中止运行之后导致显存一直被占用,以致于下一次跑网络的时候会出现现存不足的情况。在这种情况下可以使用如下指令kill相应进程:

sudo kill -9 PID

查看哪些进程在占用显存:

nvidia-smi

在这里插入图片描述

在这里插入图片描述

### Ubuntu 18.04 上安装 NVIDIA GeForce RTX 3050 显卡驱动 #### 前期准备 为了确保顺利安装显卡驱动程,需完成以下准备工作: 1. **禁用 Secure Boot** 在 BIOS 设置中禁用 Secure Boot 功能。如果未关闭此功能,可能会导致第三方驱动无法正常加载[^3]。 2. **禁用 Nouveau 开源驱动** 默认情况下,Ubuntu 使用开源的 Nouveau 驱动来管理 NVIDIA GPU。然而,该驱动与专有 NVIDIA 驱动冲突,因此需要将其禁用。 创建配置文件并添加相关内容: ```bash sudo nano /etc/modprobe.d/blacklist-nouveau.conf ``` 将以下两行粘贴到文件中: ``` blacklist nouveau options nouveau modeset=0 ``` 执行以下命令以更新 initramfs 并重启系统: ```bash sudo update-initramfs -u sudo reboot ``` 重启后通过以下命令确认 Nouveau 是否已禁用: ```bash lsmod | grep nouveau ``` 如果没有任何输出,则表示禁用成功。 --- #### 卸载旧版驱动 在安装新驱动前,建议彻底卸载之前的 NVIDIA 驱动程以避免潜在冲突。 对于 PPA 源安装的驱动: ```bash sudo apt-get remove --purge '^nvidia-.*' ``` 对于 Runfile 方式安装的驱动: 假设当前目录下存在 `.run` 文件(如 `NVIDIA-Linux-x86_64-*.run`),运行以下命令进行卸载: ```bash sudo ./NVIDIA-Linux-x86_64-*.run --uninstall ``` 清理残留依赖项: ```bash sudo apt autoremove ``` --- #### 查询适配的驱动版本 使用以下命令查询适合系统的 NVIDIA 驱动版本: ```bash ubuntu-drivers devices ``` 这将返回一系列可用的驱动版本及其兼容性评估。例如,输出可能类似于以下内容: ``` == /dev/dri/card0 == modalias : pci:v000010DEd000025A2sv00001043sd00001FCDbc03sc00i00 vendor : NVIDIA Corporation model : GA107M [GeForce RTX 3050 Mobile] driver : nvidia-driver-470 - third-party free recommended driver : nvidia-driver-525 - third-party free driver : xserver-xorg-video-nouveau - distro free builtin ``` 根据推荐选择合适的驱动版本(通常标记为 `recommended`)。对于较新的硬件(如 RTX 3050),建议优先考虑最新稳定版本的驱动程[^3][^4]。 --- #### 方法一:PPA 源安装 这是最简便的安装方式之一,适用于大多数用户场景。 1. 添加官方图形驱动仓库: ```bash sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update ``` 2. 安装指定版本的驱动程(替换 `<version>` 为你查询到的具体编号): ```bash sudo apt install nvidia-driver-<version> ``` 3. 安装完成后重启计算机: ```bash sudo reboot ``` 4. 验证安装状态: ```bash nvidia-smi ``` 正确安装后应显示 GPU 的基本信息以及驱动版本号[^1]. --- #### 方法二:Runfile 安装 当 PPA 源未能提供最新的驱动版本时,可从 NVIDIA 官方网站下载对应的 Runfile 进行手动安装。 1. 下载适用于 Linux 系统的驱动程: 访问 [NVIDIA Driver Downloads](https://www.nvidia.com/Download/index.aspx),选择匹配的操作系统和设备型号(RTX 3050)。 2. 赋予下载文件执行权限: ```bash chmod +x NVIDIA-Linux-x86_64-*.run ``` 3. 关闭 X Server 或切换至 TTY 终端模式: ```bash sudo systemctl stop lightdm ``` 4. 启动安装脚本: ```bash sudo sh NVIDIA-Linux-x86_64-*.run ``` 5. 按照屏幕提示逐步操作,直至完成安装。 6. 重新启用桌面环境并验证: ```bash sudo systemctl start lightdm nvidia-smi ``` 注意:此方法更适合高级用户,因为其涉及更多手动干预步骤[^5]。 --- #### 注意事项 - 对于移动平台上的 RTX 3050(笔记本电脑),部分机型可能存在 Optimus 技术的支持需求。这种情况下,还需额外安装 Bumblebee 工具链或调整电源管理模式[^4]。 - 若遇到 OpenGL 支持不足的问题,请同步安装 Mesa 库开发包: ```bash sudo apt install mesa-common-dev libglvnd-dev ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值