众所周知,对于登录后执行的某些脚本,必须在其中写入该脚本的路径/etc/rc.local
我的 Raspberry Pi(操作系统 - Raspbian Jessie)启动到提示模式并打印许多消息,因此当我通过命令行获得控制时,我的显示器上有很多行。我想清除它,就像我跑步一样
clear
在提示中。我将此行添加到/etc/rc.local但没有效果。如何在启动后自动清理所有行?为什么有时脚本无法工作,即使它们已添加到/etc/rc.local
,在这种情况下,替代的简单解决方案是什么?
答案1
众所周知,对于登录后执行的某些脚本,必须在.txt文件中写入该脚本的路径
/etc/rc.local
。
不,这是错误的,而且根本不为人所知。除了引导系统的双重向后兼容机制这一事实之外,/etc/rc.local
该机制在大多数当前操作系统上已被取代两次甚至三倍,人们真的应该忘记这一点;还有/etc/rc.local
登录后不执行的细节。 /etc/rc.local
甚至连接到具有某些操作系统向后兼容机制的终端时也不会执行。
TUI 登录后执行的内容根据您使用的 shell 以及使用模式而有所不同。 Bourne Again 和 Z shell 源出一大堆配置文件脚本,根据调用的兼容性模式而有所不同。Korn 和 Debian Almquist shell 源/etc/profile
和$HOME/.profile
.对于 C shell,它是/etc/csh.login
, $HOME/.login
, 等..
但尽管你可以在那里放一个clear
,那些并不是你真正想要的;因为这不会在显示登录提示之前清除终端,而是为您留下一个清晰的终端,顶部有登录提示,可供您登录。
讽刺地,世界希望你清洁你的屏幕并且非常努力地强迫你这样做。你的系统已经花了一定的力气来关闭这一切。对于初学者:您必须使用非默认选项来停止,例如,mingetty
在发出登录提示(这是其默认行为)之前清除终端。您还必须关闭用于重置和取消分配终端登录服务的终端设备的 systemd 设置。
因此,实现您想要的效果的最简单方法是重新打开其中至少一个。去掉--noclear
选项mingetty
。使用TTYReset=yes
。 ☺