云网牛站
所在位置:首页 > Linux教程 > 在Linux系统中修复冻结的Gnome桌面会话

在Linux系统中修复冻结的Gnome桌面会话

2019-07-11 10:14:52作者:连一续稿源:云网牛站

本文介绍在Linux系统中修复冻结的Gnome桌面会话,方法是:X11重启、Wayland重启及显示替换修复。现在很多人都在使用Gnome Shell,因为许多主流Linux项目都采用该桌面环境作为默认用户界面,总的来说,这是一个很好的举措,因为Gnome可靠、易于使用,并且每次发布都会变得更快,然而,即使是像Gnome这样出色的台式机也存在问题,也许Gnome遭受的最明显和最令人沮丧的问题(即使每次发布时快速补丁改进桌面)都是冻结的,无论如何,有时,Gnome注定要冻结和锁定,因此,在本文中,我们将向你展示当你拥有冻结的Gnome桌面会话时该怎么做。

 

方法1、X11重新启动修复

Gnome Shell具有内置的重启功能,用户可以在快速使用时执行该功能以重启冻结的桌面,唯一的问题是它不适用于新的Wayland显示协议,所以你需要使用“Gnome on Xorg”会话来实现这一点。

要在所有内容都冻结时重新启动Gnome Shell会话,请先按键盘上的Alt+F2键开始,执行此键盘组合将在屏幕中央显示一个窗口,你可以在其中输入命令。

在命令框中,输入“r.”此命令将完全重新启动会话,重新启动Gnome Shell,甚至修复你可能遇到的任何窗口管理器问题(尽管它只是在没有注销的情况下重新启动会话):

r

在Linux系统中修复冻结的Gnome桌面会话

按Enter键执行命令,如果单次重启无法解决问题,请多次重新运行此命令,通常,连续几次运行重新启动命令可以修复问题。

 

方法2、Wayland重启修复

Wayland是适用于Linux的全新现代显示协议,Gnome Shell早期就采用了它,如果你在运行Gnome时使用的是英特尔开源或其他支持的GPU驱动程序,那么你最有可能使用Wayland。

Gnome的Wayland会话有很多性能改进,但崩溃仍然可能发生,不幸的是,重启功能在此会话中不起作用,因此,如果你遇到冻结的Gnome桌面会话,则需要执行其他操作以重新获得对计算机的控制权。

要重新启动Wayland Gnome会话,你将无法在Gnome桌面环境中工作,需要访问TTY控制台并强制处理Gnome的桌面管理器重新启动,从而强制你的会话重新启动,按Ctrl+Alt+F2或Ctrl+Alt+F3可访问TTY控制台。

进入TTY控制台窗口后,你必须登录,用所有小写字母写出你的用户名,然后按Enter键,然后用户名,输入你的密码,成功输入密码后,你将在TTY模式下访问Linux命令行。

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

按照分步说明重新启动Gnome Shell会话。

步骤1:使用systemctl stop命令,停止运行Gnome显示管理器,执行此操作将自动结束你的Gnome Shell会话并使其关闭:

sudo systemctl stop gdm

知识扩展:让Linux下GNOME桌面、GDM登录界面适应高分屏的方法

或者,如果将LightDM与Gnome一起使用,请改为运行此命令:

sudo systemctl stop lightdm

步骤2:通过运行stop命令,Gnome(或LightDM管理器)将停止运行,从此处运行start命令并重新启动登录管理器:

sudo systemctl start gdm

或者,对于LightDM,请改为运行此命令:

sudo systemctl start lightdm

假设命令成功,你的Linux PC应该显示Gnome登录屏幕,你将能够使用它再次登录Gnome Shell,而无需冻结会话。

 

方法3、Display replace(显示替换)修复

如果你已经尝试过Xorg和Wayland修复程序并发现它们无法满足你的需求,那么使用Shell的内置“替换(replace)”功能,第三种方法可以在冻结时重新启动Gnome Shell会话。

“replace”命令的工作方式类似于Gnome Wayland修复,因为它必须在TTY窗口中启动,因此,按Ctrl+Alt+F2或Ctrl+Alt+F3进行访问。

注意:此修复程序适用于所有版本的Gnome Shell,包括Wayland。

在Linux PC上的TTY区域内,写下你的用户名和密码以访问命令行界面,然后,按照下面的分步说明重置Gnome会话。

步骤1:使用touch创建名为“gnome-restart”的文件:

touch gnome-restart

步骤2:使用echo命令,将重启代码添加到gnome-restart文件中:

echo '#!/bin/bash' > gnome-restart

echo 'DISPLAY=:0 gnome-shell --replace &' >> gnome-restart

步骤3:更新“gnome-restart”文件的权限,以便可以使用chmod命令从终端执行程序:

sudo chmod +x gnome-restart

步骤4:将“gnome-restart”文件移动到/usr/bin/中,以便系统可以像程序一样调用它:

sudo mv gnome-restart /usr/bin/

步骤5:从TTY终端写入gnome-restart以重新启动Gnome Shell会话。

注意:gnome-restart命令也可以直接从Gnome桌面运行,为此,请按Alt+F2打开桌面上的命令窗口,然后在其中运行命令:

gnome-restart

在Linux系统中修复冻结的Gnome桌面会话

从TTY成功运行命令后,按Ctrl+Alt+F2或Ctrl+Alt+F3返回到Gnome桌面,这时你的会话应该可以再次使用。

 

相关主题

如何禁用Ubuntu客人会话

精选文章
热门文章