Xmobar DiskU未获取Slackware 15中的根分区信息



我试图显示Xmobar中根分区的使用情况(使用XMonad(,但不起作用!!没有任何详细或错误消息。我不知道问题是Slackware加载根分区的方式还是xmobar的工作方式。解释上下文:磁盘有三个分区:"swap", "/" and "/home"

/dev/sda1 is the /
/dev/sda2 is the swap
/dev/sda3 is the /home

在Slackware中,系统创建一个到"/dev/sda1"的虚拟装载点,称其为"/dev/root",装载点到"/"

在Xmobar(.xmobarrc文件(中,以下任何选项都不起作用:

- Run DiskU [ ( "/", "<size>" ) ] [] 20
- Run DiskU [ ( "root", "<size>" ) ] [] 20
- Run DiskU [ ( "/dev/root", "<size>" ) ] [] 20
- Run DiskU [ ( "sda1", "<size>" ) ] [] 20
- Run DiskU [ ( "/dev/sda1", "<size>" ) ] [] 20

并调用

- Run DiskU [ ( "/", "<size>" ), ("/home", "<size>") ] [] 20

其中"/home""/dev/sda3"分区,可以很好地获得有关"/home"的信息

通过阅读Xmobar源代码,我看到可用分区的列表是从"/etc/mtab"中读取的。在我的情况下,"/etc/mtab"具有以下分区的取消列表:

/dev/root / ext4 rw,relatime 0 0
...
/dev/sda3 /home ext4 rw,relatime 0 0

但我不明白DiskU的功能。。。

欢迎任何想法来解决这个问题。。。

提前感谢!

使用包含的mount

/dev/sda1 / ext4 rw,relatime 0 0
# ...
/dev/sda3 /home ext4 rw,relatime 0 0

一个xmobar配置沿着这些线路应该实际工作:

Config
{ -- ...
, template = "... %disku% ..."
-- ...
, commands =
[ -- ...
, Run DiskU
[ ( "/",     "Root: <usedp> (<used>/<size>)")
, ( "/home", "Home: <usedp> (<used>/<size>)")
]
[] 20
-- ...
]
-- ...
}

解决方案:

Slackware在/etc/mtab中自动将/dev/sda1的挂载点设置为/dev/root,但/dev/root是一个虚拟设备,不存在于/dev文件夹中。Xmobar试图访问设备/dev/root,但没有找到它。

最简单的解决方案是在系统启动时创建一个到/dev/root的符号链接。在这种情况下,在Slackware中,编辑文件/etc/rc.d/rc.local并添加:

ln -s /dev/sda1 /dev/root

问题解决了!

相关内容

  • 没有找到相关文章

最新更新