+ -
当前位置:首页 → 问答吧 → 无法修改kdmrc.sysconfig

无法修改kdmrc.sysconfig

时间:2009-02-18

来源:互联网

我最近发现我的kdm不能用主题了,起因是我觉得suse默认的kdm主题太难看,就调整为kde4.1默认的那个,但不起作用,我就把suse的那个主题删了,但后来kdm居然不能用主题了,于是我追根溯源找到了/var/adm/kdm/kdmrc.sysconfig这个配置文件,起内容为:
[X-*-Greeter]
ShowUsers=NotHidden
UseTheme=false
UseBackground=true
Language=
[Xdmcp]
Enable=false
[X-:0-Core]
AutoLoginEnable=false
ServerArgsLocal=-nolisten tcp
NoPassEnable=false
NoPassAllUsers=false
[X-:*-Core]
AllowShutdown=All
AllowRootLogin=true
AllowNullPasswd=true
[X-*-Core]
AllowRootLogin=false
ServerCmd=/usr/bin/X -br
[General]
请注意,里面设置的是不用主题的,我就把他修改了,权限是644没错,也修改成功了,但每次重新登录后,这个文件神奇地改回去了,设为只读也没用,我不知道这里面是谁在修改他,而我相信这是我无法使用kdm主题的原因。
ps:这个问题去年4月就有人报告了 http://lists.opensuse.org/opensuse-b.../msg01788.html
opensuse11.1 kde4.2 i386

作者: fhzxt   发布时间: 2009-02-18

自己的问题自己解决。。。
引起这个问题的原因我想是工厂版的一个疏忽,但我觉得很不应该,自己拿一个自己的配置文件去代管原来的,却不解决配合问题。具体原因如下:
首先,suse管理这种东西(kdm用不用主题,用什么主题)喜欢使用sysconfig里的东西,所以suse在/usr/share/kde4/apps/kdm/下面加了一个脚本叫"read_sysconfig.sh",这个脚本里面有关键的一句是:
if [ -n "$DISPLAYMANAGER_KDM_THEME" -a -d "/usr/share/kde4/apps/kdm/themes/$DISPLAYMANAGER_KDM_THEME" ]; then
echo "Theme=/usr/share/kde4/apps/kdm/themes/$DISPLAYMANAGER_KDM_THEME"
echo "UseTheme=true"
echo "UseBackground=false"
else
echo "UseTheme=false"
echo "UseBackground=true"
fi
这个if语句就很清楚的解释了为什么我上面说的那个文件会自己变回去,但大家也看到了,本来设置正确的话是不会变回去的,原因就在于kde4自己的登录管理器不会去修改$DISPLAYMANAGER_KDM_THEME这个值,而suse的工具也没有根据kde4的kdm配置文件去修改自己的设定值,于是两个各走各的,最后找不到默认的那个主题(因为我把他删了。。。不然结果就是怎么改主题还是原来那个),就自以为聪明地改用background了。这个问题早就提过,很多很多遍了,几乎每次suse更新kde版本时都会出现,不知道suse是自己悄悄的改了还是大多数人用的是默认的没发现(我以前没用过kde,呵呵),有就旧版本的兄弟测试一下

作者: fhzxt   发布时间: 2009-02-18

再写一点,我觉得这种配置文件套配置文件的做法毫无意义,其原意不过是为了将配置文件集中起来,然后好拿yast统一管理以利于新用户的使用,或者给人以企业版正规的感觉,但我觉得作为linux/unix的发行版这样搞实在是有为违其本意了。

作者: fhzxt   发布时间: 2009-02-18

Yast里有sysconfig编辑器

作者: struq   发布时间: 2009-02-19

引用:
作者: struq
Yast里有sysconfig编辑器
你没看懂我说的是什么问题

作者: fhzxt   发布时间: 2009-02-27