我已经将系统 (Ubuntu 14.10) 设置为文本启动。我需要配置 ttys 和启动,使其在启动消息和 ttys 中显示绿色字体。现在,在 grub 菜单(以绿色字体显示)加载后,消息全部显示为白色,而对于 ttys,在启动后显示如下(全部为白色):
Ubuntu 14.10 UTM tty1
UTM登录:
我想把它变成绿色。
我已尝试过:
- 写入
setterm -foreground green -store
会将bashrc
颜色改为绿色,但只有当我尝试重新登录(登录然后退出 tty)后才会发生这种情况。 - 我查找了各种链接,发现我应该修改我的
/etc/inittab
文件,但是由于 ubuntu 14.10 没有文件,所以inittab
我不知道应该为这项任务编辑/创建哪个文件。 - 更改了
GRUB_NORMAL_COLOR=green/black
但/etc/default/grub
它只会将 grub 字体颜色更改为绿色但在加载后启动开始并且所有消息都显示为白色。
因此,我的问题是,我应该编辑/创建哪个文件来设置 tty 的字体颜色以及如何设置?还有启动文本颜色?
答案1
如果你查看/etc/init
文件夹,负责调出的命令TTY
是 getty。对于每个 TTY,都有一个 *.conf 文件/etc/init
,因此如果你想要在每个 TTY 上使用彩色提示,你必须编辑每一个这些文件。
现在,负责登录前屏幕上显示的内容的文件是/etc/issue
,但是,getty
允许使用标志指定自定义问题文件-f
。您可以执行此操作,也可以编辑原始/etc/issue
文件。请注意,下次升级到较新的 Ubuntu 版本时,此文件将被覆盖。
至于给文本着色,这很容易:使用\[
转义序列和非打印字符的代码。
具体来说,为了使提示符变为绿色,请执行以下操作:
sudo bash -c 'echo -e "\033[1;32m My Laptop \n \l " > /etc/issue '
为什么不呢sudo echo
?因为重定向是由 shell 完成的,除非你以 root 身份登录,否则你的 shell 没有权限写入 root 拥有的文件(如解释的那样这里)。
为什么不\033[1;32m
手动添加?因为这样它会被视为文本。
这是编辑文件之前和之后的十六进制转储
CURRENT DIR:[/home/xieerqi]
$ echo -e "\033[1;33m TEST MESSAGE" > issue2
CURRENT DIR:[/home/xieerqi]
$ hexdump -c issue2
0000000 033 [ 1 ; 3 3 m T E S T M E S
0000010 S A G E \n
0000015
CURRENT DIR:[/home/xieerqi]
$ nano issue2
CURRENT DIR:[/home/xieerqi]
$ hexdump -c issue2
0000000 ^ [ [ 1 ; 3 3 m T E S T M E
0000010 S S A G E \n
0000016
简单来说,我们希望有特殊字符,而不仅仅是文本
/etc/issue
是 root 拥有的,因此您需要使用gksu gedit /etc/issue
或来编辑它sudo nano /etc/issue
。您可以使用任何文本编辑器,但重点是 - 您需要 sudo。
完成后,通过运行另一个终端重新启动 TTY1 sudo service tty1 restart
,或者如果你使用的是 15.04sudo systemctl restart tty1