在普利茅斯隐藏内核消息

我为Kiosk应用程序运行Ubuntu 14.04服务器。
问题是当kiosk启动时,内核会显示一些关于USB端口错误等事情的debugging信息,而这些丑陋的信息正在显示在我们的普利茅斯启animation面上。
无论如何阻止这些消息在启动时显示? 我已经在我的grubconfiguration文件中有“安静的飞溅”了。

如果你只是想压制这些消息,而不是修复它们,你可以尝试调整kernel.printk sysctl,如man 2 syslog中概述的那样。

/ proc / sys / kernel / printk是一个包含四个整数值的可写文件,这些值在打印或logging错误消息时影响内核printk()行为。 这四个值是:

console_loglevel

只有日志级别低于此值的消息才会被打印到控制台。 该字段的缺省值是DEFAULT_CONSOLE_LOGLEVEL(7),但是如果内核命令行包含单词“quiet”,则该参数设置为4;如果内核命令行包含单词“debug”,则该参数设置为10;如果是内核故障(10和15是愚蠢的,相当于8)。 通过types为8的syslog()调用,可以将console_loglevel的值设置为(范围为1-8的值)。

DEFAULT_MESSAGE_LOGLEVEL

该值将用作没有明确级别的printk()消息的日志级别。 直到并包括Linux 2.6.38,该字段的硬编码默认值是4(KERN_WARNING); 从Linux 2.6.39开始,缺省值是由内核configuration选项CONFIG_DEFAULT_MESSAGE_LOGLEVEL定义的,缺省值为4。

minimum_console_loglevel

该字段中的值是可以设置console_loglevel的最小值。

default_console_loglevel

这是console_loglevel的默认值。

这些数字在kern_levels.h中列出。

 #define KERN_EMERG "<0>" /* system is unusable */ #define KERN_ALERT "<1>" /* action must be taken immediately */ #define KERN_CRIT "<2>" /* critical conditions */ #define KERN_ERR "<3>" /* error conditions */ #define KERN_WARNING "<4>" /* warning conditions */ #define KERN_NOTICE "<5>" /* normal but significant condition */ #define KERN_INFO "<6>" /* informational */ #define KERN_DEBUG "<7>" /* debug-level messages */ 

您可能想要显示CRITICAL,ALERT和EMERGENCY消息,因此在sysctl.conf kernel.printk = 3 3 3 3所有内容设置为kernel.printk = 3 3 3 3应该只会给出消息,要求有人执行某些操作才能使自助服务terminal/机器正常运行。

这些消息是内核警报,它们比普通的debugging消息更高的优先级。 这就是为什么你看到他们。 我认为修复你的USB端口错误应该让他们走开。