我有一个自定义的python应用程序,我希望使用正式的触摸屏在RPi上自动启动。

以前,这种方法可以正常工作,而不会出现一系列启动消息,直到在Jessie中使用PIXEL桌面的最新更新为止。我现在使用的“ asplashscreen”脚本再次被启动消息所困扰。

我转储了'asplashscreen',并且自从Plymouth最终被修补为可以工作(在PIXEL发布之后)以来,我现在让Plymouth显示了一个漂亮的启动屏幕,但是沉默启动消息的旧方法似乎没有工作了。

如何删除所有引导消息(包括自动登录和内核)?

评论

这不是答案,而是G Trawo有关控制台屏幕的问题停留在TTY3登录屏幕而不是TTY1命令提示符屏幕。如何自动将其切换回TTY1?仅供参考,我使用的是不带HDMI的rapiberry pi 7“ LCD。

@cash我不确定您将如何自动切换回去。您甚至不必一开始就将其切换到TTY3,因为下面的某些选项可能仍然会消除大多数消息。 x服务器启动后启动应用程序。)

添加到/boot/cmdline.txt fbcon = map:2

@Mich上面的评论是金子!请回答,以便我投票。在我最新的Raspbian上,已接受的答案不再起作用

#1 楼

请注意,删除消息的输出还可能会妨碍您之后对系统进行故障排除的能力。您可能要等到完成阶段才能应用这些修复程序。

截至2016年12月,许多旧方法似乎已停止工作。
我创建此问题/答案帖子是因为花了很多时间来汇总所有解决方案。我删除所有引导文本(甚至登录消息)的操作:

1。)更改/boot/cmdline.txt

sudo nano /boot/cmdline.txt


将控制台从tty1更改为

console=tty3 


将此添加到该行的末尾。 'loglevel = 0'从引导中删除大多数消息。您也可以使用'loglevel = 3',但是一些引导消息可能会重新出现。
quiet splash loglevel=0 logo.nologo vt.global_cursor_default=0


2.)告诉dmesg安静

plymouth.ignore-serial-consoles 


在'exit 0'之前添加:

sudo nano /etc/rc.local


到目前为止,这应该处理大多数引导消息。 #2还负责“看门狗watchdog0:看门狗没有停止!”。

3.。)在systemd中更改自动登录(发生自动登录时隐藏登录消息​​)。

#Suppress Kernel Messages
dmesg --console-off


更改您的自动登录ExecStart从: '更改为您使用的用户名!

4 ..)更改/etc/pam.d/login(从自动登录时不显示内核版本)

sudo nano /etc/systemd/system/autologin\@.service


更改行

ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM


要成为

ExecStart=-/sbin/agetty --skip-login --noclear --noissue --login-options "-f pi" %I $TERM


5.) .hushlogin

sudo nano /etc/pam.d/login


或删除每日消息-MOTD(替代5)

session    optional   pam_exec.so type=open_session stdout /bin/uname -snrvm


现在我的启动仅显示Plymouth启动屏幕,并进入我的python GUI。

评论


做得很好,但是它并不能为我提供完全无声的启动。我仍然可以看到彩虹图案,Raspberry Pi徽标和Pixel欢迎屏幕以及一些文本行。这是杰西。

– Chiwda
17年5月2日在15:53

@Chiwda我个人喜欢彩虹图案,因为它表示设备正在启动。我不会将其归类为“启动消息”,例如文本。话虽如此,将disable_splash = 1放入/boot/config.txt即可将其删除。另外,因为我有一个自定义应用程序启动,所以我不使用Pixel桌面。所以我真的无法帮助您解决任何与Pixel相关的问题。

– G Trawo
17年5月3日,17:43

截至目前,步骤1似乎没什么作用-那里的某些内容必须再次更改:)

– mlvljr
17年9月6日在12:32

@mlvljr步骤1从未真正带来太大改变。在大多数情况下,更多是步骤2确实使启动文本静音。话虽如此,如果您执行上述所有步骤,则应该注意引导消息。即使是最近更新,它仍然为我做。

– G Trawo
17年9月6日在15:03

@GTrawo有趣的是,非常感谢,我再尝试一下:)

– mlvljr
17年9月6日在22:17

#2 楼

1.卸下彩虹闪屏



sudo nano /boot/config.txt


在下面的行末添加文件


disable_splash = 1



检查此配置是否生效(可选)


sudo reboot


2。隐藏Raspberry徽标



sudo nano /boot/cmdline.txt


将以下行添加到文件末尾


logo.nologo


检查此配置是否生效(可选)


sudo reboot


3。隐藏消息


sudo nano /boot/cmdline.txt


在文件末尾添加以下行


quiet


更改控制台


console = tty1-> console = tty3


/>检查此配置是否生效(可选)


sudo reboot


4。更改启动画面



将自定义启动画面复制到主目录并替换树莓派的splash.png


sudo cp〜/ splash .png /usr/share/plymouth/themes/pix/splash.png


检查此配置是否生效(可选)


sudo重新启动


5。隐藏光标

将以下行添加到文件/boot/cmdline.txt


vt.global_cursor_default = 0


检查此配置是否生效(可选)


sudo reboot


6。结果
检查此链接上的视频

#3 楼

我本来会对别人的回答发表评论,但我的声誉还不够。为此,我要补充一点(至少从Debian / Raspbian Buster起),看来dmesg错误会突破Plymouth并替换您的自定义启动屏幕作为控制台消息。例如,典型的欠压通知将这样做。在此主要版本中,可能是从STDOUT到STDERR的电压过低。