小编Mar*_*urg的帖子

systemd 如何使用 /etc/init.d 脚本?

我刚切换到 debian jessie,大多数东西都运行正常,包括我的图形显示管理器wdm

问题是,我只是不明白这是如何工作的。显然我的/etc/init.d/wdm脚本被调用了,因为当我exit在那里提前放置时,wdm 没有启动。但是当我或者重命名 /etc/rc3.d目录时(我的默认运行级别曾经是 3),然后 wdm 仍然启动。

我不知道 systemd 如何找到这个脚本,我不明白它对所有其他 init.d 脚本做了什么。

  • systemd 何时以及如何运行 init.d 脚本?
  • 从长远来看,我应该摆脱所有 init.d 脚本吗?

init-script systemd init sysvinit

153
推荐指数
2
解决办法
19万
查看次数

gnome、kde 和 xfce 中的字体设置如何工作?

我的 Debian 8 系统 (Jessie) 主要是一个 xfce 系统,但我也使用 gnome 和 kde 程序。我没有安装任何桌面环境,但是我用一个.xsession文件启动了我的 xsession 。问题是,我无法正确使用字体(和其他 UI 方面)。

工具

首先我不知道用什么工具。有 kdesystemsettingsgnome-tweak-tool. 我确实有gnome-settings-daemon跑步。立即体现在雷鸟和gnome-的调整工具本身的gnome-TWEAK工具所做的更改,但影响如krusaderk3b后,才重新启动。但即使那样字体也太大了,但至少有一个效果。

Systemsettings 似乎对运行的应用程序没有任何影响,当我重新启动 kde 应用程序时,它的字体似乎被重置为某些默认设置,

Gnome-tweak-tool 只提供很少的设置,而 systemsettings 允许单独设置菜单字体、工具栏字体等。因此,我认为 gnome 必须根据我自己以“最适合我”的方式进行的一些设置来生成细粒度设置。

Xfce 有自己的xfce4-appearance-settings工具,但它似乎不会影响应用程序的字体,并且只允许设置单个默认字体。哦,然后是qtconfig,它似乎有两个版本,一个用于 qt4 和 qt5。我什至可能错过了一些。

目前,我看到的字体与任何这些工具的字体设置都不对应。

问题

  • 无论如何,我真的很想了解这整个事情应该如何运作。各种设置工具和应用程序之间的交互以及它们存储数据的位置对我来说是个谜。
  • 这些设置工具的交互方式是否有既定标准?
  • 此外,如果有人能告诉我一种处理所有这些魔法的方法,我将不胜感激。在过去,设置 xrdb 需要时间,但至少这是一个我能理解的过程,并且它收敛了。

具体来说

  • 当我更改主题时会发生什么?
  • 各种设置工具会覆盖彼此的数据吗?
  • (xfce/gnome) 设置守护程序有什么作用?
  • dconf 有什么作用?

gnome kde settings

9
推荐指数
1
解决办法
5567
查看次数

了解后台进程何时终止

我有一个脚本,它启动许多后台进程,如果从 cmdline 调用时工作正常。

但是,在我的 xsession 启动期间以及一些 udev 事件中也会调用相同的脚本。在这两种情况下,后台进程都会消失。

我在脚本中放入了 sleep 10 并且我可以看到 bg 进程确实启动了,但是一旦脚本存在,它就会带走 bg 进程。我试图通过调用 bg 进程来解决 with start_stop_deamon --background,但这并没有什么区别。但是,我可以从控制台调用脚本并退出会话并且 bg 进程仍在运行。

除了解决我眼前的问题(尽管非常感谢任何帮助),我很想了解这一切背后的逻辑。我怀疑与缺少终端有关。

shell job-control process-management daemon

6
推荐指数
1
解决办法
613
查看次数

系统不关机 - 如何诊断

升级到 debian jessie 后,我过时的桌面系统不再可靠地关闭(/sbin/poweroff - 通过 tty1 上的 systemctl)。相反,它会关闭、暂停和重新启动,并且只有在我按下电源按钮时才会关闭电源。我尝试了各种建议,例如acpi=force使用 bios 设置、添加 nouveau.modeset=0 等等。

到目前为止,我发现的唯一一件事是,不启动图形会话似乎可以“解决”问题。我的 Xsession 是一个简单的.xsession文件,不涉及会话管理器(afaik),我所做的只是启动一些程序。当我将此文件剥离为一个xterm或我根本不登录时,系统将关闭。

我试图在我的 .xsession 文件中取消对更多程序的注释,希望能找到罪魁祸首,但这并没有得出结论。似乎有一些随机性。我确信在我发出 poweroff 时我的程序都没有在运行,因为我将它们全部杀死(不包括由我不知道的人启动的用户 systemd)

在重新启动之前的最后一条消息中,我看到

System wakeup enabled by ACPI
Preparing to enter systel sleep state 5
GPU lockup - switching to software fbcon
Run Code Online (Sandbox Code Playgroud)

但是,我看到同样的信息,如果关机(不是100%肯定,因为它们是可见的只是一小片刻,然后)

我还注意到,在糟糕的情况下,关闭过程中会有很长的暂停,例如在Stopping target network暂停 2 分钟之后,我不知道系统在等待什么。

我所追求的是一种诊断问题的方法,而不是在月球上射击。

  • 我怎样才能找出系统在那些长时间的停顿中等待什么
  • 或者更一般地说:我如何获得有关关机期间发生的事情的更多信息,是否有“关机日志”?
  • acpi 如何参与关闭过程,我如何才能找出它为什么这样做?

shutdown acpi systemd

6
推荐指数
1
解决办法
1530
查看次数

Lilo 发出大量磁盘噪音

升级到 Debian Wheezy 后,该lilo命令导致我的启动盘发出很大的噪音。我没有任何真正的问题,只是噪音听起来有点吓人,尤其是因为之前不是这样。

当我运行时,lilo -v4我可以看到每个噪音都对应于以下几行之一:

Mapped AL=0x00 CX=0xbc27 DX=0xbee0, LBA=12500007
Mapped AL=0x00 CX=0xbc28 DX=0xbee0, LBA=12500008
Mapped AL=0x00 CX=0xbc29 DX=0xbee0, LBA=12500009
Mapped AL=0x00 CX=0xbc2a DX=0xbee0, LBA=12500010
Mapped AL=0x00 CX=0xbc2b DX=0xbee0, LBA=12500011
Mapped AL=0x00 CX=0xbc2c DX=0xbee0, LBA=12500012
Run Code Online (Sandbox Code Playgroud)

详细输出中有 27779 行这样的行。

噪音听起来并不不健康,更像是正常的头部运动。听起来,对于这些行中的每一行,lilo 都在进行搜索,而头部恰好位于远处。

有谁知道是什么导致了从静音操作到嘈杂操作的变化?

linux boot lilo

5
推荐指数
1
解决办法
109
查看次数

为什么我需要 GRUB_DISABLE_LINUX_UUID=true

我刚刚从 lilo 切换到 grub2,我的第一次尝试失败了kernel panic - not syncing vfs unable to mount root fs on unknown block(0 0)。事实证明,问题在于根分区是根据 UUID 而不是设备名称指定的。解决方案是取消GRUB_DISABLE_LINUX_UUID=true注释/etc/default/grub

原始自动生成/boot/grub/grub.conf包含一些 UUID 条目和一些 /dev 条目。

  • update-grub 如何在 UUID 和 /dev rootfs 之间进行选择,即为什么有时是 UUID,有时不是?
  • 是什么让 UUID 无法工作?我没有找到可能设置错误的内核参数(内核3.8.2)
  • 当 grub 使用 UUID 时,我的 fstab 中是否需要 UUID?

boot grub2 uuid

5
推荐指数
1
解决办法
1万
查看次数

如何针对自定义内核(Debian)进行编译?

有一个文件version.h/usr/include/linux。许多头文件都包含此文件并defines在其中使用ifdefs.

但是,当我编译自己的内核时,我看不到这如何在 eg 中正确反映 version.h

实际上这适用于所有与内核相关的头文件。AFAICS/usr/include/linux始终代表我的发行版附带的内核,而不是正在运行的内核,也不是我make通过SYSSRC.

过去,我求助于创建指向我自己的内核源代码的符号链接,但我觉得这不是正确的方法。

这应该如何工作?如何针对自定义内核进行编译(例如内核模块)?

linux compiling debian kernel-modules header-file

4
推荐指数
1
解决办法
2331
查看次数

控制台显示来自 gcc 的引号字符 wongly

升级到 debian wheezy 后,我的文本控制台在应该有引号的地方显示问号

在XI下正确看待事物

window.cpp:1056:21: error: base operand of ‘->’ is not a pointer
Run Code Online (Sandbox Code Playgroud)

但控制台显示

window.cpp:1056:21: error: base operand of ?->? is not a pointer
Run Code Online (Sandbox Code Playgroud)

如果我从该文件中删除除引号之外的所有内容并将 xy 放在它周围(以便更容易地发现它),那么 emacs hexl-mode 会告诉我这是这个字符

 00000000: 78e2 8098 790a                           x...y.
Run Code Online (Sandbox Code Playgroud)

我理解 78 (x)、79(y) 和 0a (LF),但我很难相信像引号这样简单的东西需要三个 unicode 字节。

我也试过

dpkg-reconfigure console-setup
Run Code Online (Sandbox Code Playgroud)

并设法产生更多不可读的字符,但未能正确看到引号。我可以输入单引号没问题,联机帮助页和一切看起来都不错,所以我不知道应该归咎于 gcc 还是控制台。

debian gcc unicode console

2
推荐指数
1
解决办法
473
查看次数