切换字符界面和图形界面:
-
使用systemctl(需要重启):
$systemctl set-default multi-user.target #切换到字符界面 $systemctl set-default graphical.target #切换到图形界面
-
使用init(临时切换,不需要重启):
$init 1 #单用户字符界面 $init 3 #多用户字符界面 $init 5 #图形界面
init命令 是Linux下的进程初始化工具,init进程是所有Linux进程的父进程,它的进程号为1。init命令是Linux操作系统中不可缺少的程序之一,init进程是Linux内核引导运行的,是系统中的第一个进程。
那么,又有哪些运行级别呢?各自又有什么含义呢?请看下表
运行级别层次 说明 #0 停机(千万不能把initdefault 设置为0) #1 单用户模式,并且只能使用root用户进行控制 #2 多用户,没有 NFS(和级别3相似,会停止部分服务) #3 完全多用户模式(标准运行级别) #4 安全模式 #5 x11(Xwindow),即图形界面 #6 重新启动(千万不要把initdefault 设置为6) init 也是一些版本的Linux在控制开机启动(包括自制脚本开机启动)所不能忽略的问题,比如在Kali2019,/etc文件夹下有rc0.d到rc6.d以及单独一个rcS.d(单用户模式启动脚本)这七个文件夹,一些需要自启动的脚本就按照对应运行级别存放在这些文件夹中。当然,这些文件夹中的脚本是直接链接到/etc/init.d中的,你也可以把自制脚本放到这里,并配制好权限。稍后会有专门板块细讲开机自启的问题。
-
字符界面的汉字显示问题:
在切换到字符界面后,会出现汉字显示异常(不论是虚拟机还是物理机,但在Xshell中不会)。所有汉字都会显示为白色方框,如下图:
那该怎么解决呢?我在网上找了一圈并进行尝试,包括换中文字体、选择不同编码集、VGA显示啥的,但是都没用。唯一的解决方法就是不用中文。不过这种方法还有两种分支,一是把系统显示语言完全换成英文,如此一来,在图形界面显示的也都会是英文了。另一种方法时临时切换显示语言,重启即失效。临时切换代码:
$export LANG=zh_CN.UTF8 #或者其他可用的字符集,这里选择zh.CN并不会继续显示中文 #有博客说用zh_CN.GB2312,我这里没用 #刚刚才发现zh_CN还是会有部分命令显示异常,所以必须使用下方所示编码 $export LANG=en_US.UTF8 #其实还可以一个个尝试其他编码,不过我用$dpkg-reconfigure locales试过没用,不知道export是否有用
这里啰嗦一句,作为现代程序员,阅读和使用英语应该是最基本的能力之一,不要惧怕全英文界面。