启动KDM的脚本(如果没有的话)

debianlight_kdm

昨天我重新安装了我的 德比安·威兹(Debian Wheezy) 与我的自定义存储库 哪里 4.10 我必须说,如果以前效果很好,现在效果会更好。

我唯一的问题是使用KDM,它显然根本无法正确安装,因为它不想自动启动,这引起了我的注意,因为我在另一台PC上进行了相同的安装,相同的存储库,并且一切正常。一切顺利。

寻找问题的原因,我检测到未创建文件 /etc/init.d/kdm 里面应该有这个:

#!/ bin / sh -e ### BEGIN INIT INFO#提供:kdm#必需开始:$ local_fs $ remote_fs#必需停止:$ local_fs $ remote_fs#应该开始:控制台屏幕kbd acpid dbus hal krb5- kdc#应该停止:控制台屏幕kbd#默认开始:2 3 4 5#默认停止:0 1 6#简短描述:KDE的X显示管理器#说明:KDM管理X服务器的集合,该服务器可以在本地主机或远程计算机上。
 ### END INIT INFO#/etc/init.d/kdm:启动或停止X显示管理器#最初从xdm软件包中窃取的脚本##说明:K Display Manager##导入LSB初始化功能。  / lib / lsb / init-functions#设置语言环境为[-r / etc / default / locale]; 然后。  / etc / default / locale export LANG LANGUAGE fi#即使不是默认显示管理器也要启动kdm,请将#HEED_DEFAULT_DISPLAY_MANAGER更改为“ false”。
 HEED_DEFAULT_DISPLAY_MANAGER = true DEFAULT_DISPLAY_MANAGER_FILE = / etc / X11 / default-display-manager PATH = / bin:/ usr / bin:/ sbin:/ usr / sbin DAEMON = / usr / bin / kdm PIDFILE = / var /运行/kdm.pid UPGRADEFILE = / var / run / kdm.upgrade setup_config(){#支持kdm定制的参数KDMRC = / etc / kde4 / kdm / kdmrc BackgroundRC = / etc / kde4 / kdm / backgroundrc#如果通过kdmtheme或其他工具更改了配置,如果grep -q“ ^ [[:space:]] *主题= @@@ ToBeReplacedByDesktopBase @@@” $ {KDMRC}; 然后KDMOVERRIDEDIR = /etc/default/kdm.d KDMCFGDIR = / var / run / kdm KDMCFG = $ KDMCFGDIR / kdmrc BackgroundCFG = $ KDMCFGDIR / backgroundrc DEFAULT_KDM_THEME = / kdmx / ariya-test / apps / kdde4 / apps / testiya-theya kdde0 /主题$ DAEMON || 如果要使自动登录依赖于运行级别,则退出4#取消注释#test“ $ runlevel” || {runlevel =`runlevel`; 运行级别= $ {运行级别#*}; } #test“ $ runlevel” = 255 && ARG = -autolog || ARG = -noautolog#取消注释,如果要在系统日志中添加大量调试信息,请执行以下操作:#ARG =“ $ ARG -debug 1”#我们使用备用的kdm主配置文件ARG =“ $ ARG -config $ KDMCFG”#我们生成kdm配置文件genkdmconf --in $ KDMCFGDIR XNUMX> / dev / null#我们提供覆盖。  如果[-d“ $ KDMOVERRIDEDIR”],则run-parts以可预测的顺序对列表进行排序; 然后是$的一部分(运行部分--list“ $ KDMOVERRIDEDIR” 2> / dev / null || true); C。  “ $ part”完成fi#我们更新kdm配置文件(仅覆盖值)[-n“ $ USEBACKGROUND”] && sed -i“ s | ^#\?UseBackground =。* | UseBackground = $ USEBACKGROUND |” $ KDMCFG [-n“ $ BackgroundCFG”] && sed -i“ s | ^#\?BackgroundCfg =。* | BackgroundCfg = $ BackgroundCFG |” $ KDMCFG [-n“ $ USETHEME”] && sed -i“ s | ^#\?UseTheme =。* | UseTheme = $ USETHEME |” $ KDMCFG [-n“ $ THEME”] && [-e“ $ THEME”] && sed -i“ s | ^#\?Theme =。* | Theme = $ THEME |” $ KDMCFG [-n“ $ LANGUAGE”] && sed -i“ s | ^#\?Language =。* | Language = $ LANGUAGE |” $ KDMCFG if grep -q“ ^ [[:space:]] * Wallpaper = strips.png” $ {BACKGROUNDRC}; 然后[-n“ $ WALLPAPER”] && [-e“ $ WALLPAPER”] && sed -i“ s | ^#\?Wallpaper =。* | Wallpaper =`readlink -f $ WALLPAPER` |” $ BackgroundCFG fi#usetheme现在处于“默认状态”,因此我们需要确保Theme无效...
 sed -i“ s | @@@ ToBeReplacedByDesktopBase @@@ | $ DEFAULT_KDM_THEME |” $ {KDMCFG}#如果[-n“ $ AUTOLOGINUSER”];自动登录覆盖对实时的debian环境很有用。 然后sed -i“ s | ^#\?AutoLoginEnable =。* | AutoLoginEnable = true |” $ KDMCFG sed -i“ s | ^#\?AutoLoginUser =。* | AutoLoginUser = $ AUTOLOGINUSER |” $ KDMCFG fi [-n“ $ AUTOLOGINDELAY”] && sed -i“ s | ^#\?AutoLoginDelay =。* | AutoLoginDelay = $ AUTOLOGINDELAY |” $ KDMCFG [-n“ $ AUTOLOGINAGAIN”] && sed -i“ s | ^#\?AutoLoginAgain =。* | AutoLoginAgain = $ AUTOLOGINAGAIN |” $ KDMCFG [-n“ $ AUTOLOGINLOCKED”] && sed -i“ s | ^#\?AutoLoginLocked =。* | AutoLoginLocked = $ AUTOLOGINLOCKED |” $ KDMCFG fi return 0}#如果升级了守护程序,由于inode将会更改,因此无法在#start-stop-daemon中使用--exec参数。 这里的风险是#在守护程序死亡,未清除其pidfile的情况下,并且#现在该pid下正在运行其他进程,start-stop-daemon将向无辜进程发送#信号。 但是,这似乎是一个极端的情况。
 # 这就是生活!
 如果[-e $ UPGRADEFILE]; 然后SSD_ARGS =“-pidfile $ PIDFILE --startas $ DAEMON”否则SSD_ARGS =“-pidfile $ PIDFILE --exec $ DAEMON” fi still_running(){if expr“ $(cat / proc / $ DAEMONPID / cmdline 2> / dev / null)“:” $ DAEMON“> / dev / null 2>&1; 然后,否则为true。#如果守护进程未删除其自己的pidfile,我们将rm -f $ PIDFILE $ UPGRADEFILE false fi; }大小写“ $ 1”(开始))setup_config if [-e $ DEFAULT_DISPLAY_MANAGER_FILE] && [“ $ HEED_DEFAULT_DISPLAY_MANAGER” =“ true”] && [“ $(cat $ DEFAULT_DISPLAY_MANAGER_FILE)”!=“ $ DAEMON”]; 然后log_action_msg“未启动K Display Manager(kdm);它不是默认的Display Manager。”
 else log_daemon_msg“启动K显示管理器”“ kdm”如果start-stop-daemon --start --quiet $ SSD_ARGS-$ ARG; 然后log_end_msg 0 else log_action_end_msg 1“已在运行” fi fi ;; 重新启动)/etc/init.d/kdm如果[-f $ PIDFILE]停止; 然后,如果still_running; 然后退出1 fi fi /etc/init.d/kdm start ;; 重新加载)log_action_begin_msg“正在重新加载K Display Manager配置...”
 如果start-stop-daemon --stop --signal 1 --quiet $ SSD_ARGS; 然后log_action_end_msg 0否则log_action_end_msg 1“ kdm没有运行” fi ;; 强制重新加载)/etc/init.d/kdm重新加载;; 停止)log_action_begin_msg如果“ [!停止K显示管理器:kdm”  -f $ PIDFILE]; 然后log_action_end_msg 0“未运行(未找到$ PIDFILE)”退出0否则DAEMONPID = $(cat $ PIDFILE | tr -d'[:blank:]')KILLCOUNT = 1 if [!  -e $ UPGRADEFILE]; 然后如果start-stop-daemon --stop --quiet $ SSD_ARGS; 然后#给kdm的信号处理程序以一秒钟的时间来呼吸呼吸1否则log_action_cont_msg“未运行” fi fi,同时[$ KILLCOUNT -le 5]; 如果still_running; 然后杀死$ DAEMONPID,否则如果still_running,则中断睡眠1 KILLCOUNT = $((($ KILLCOUNT + 1))完成; 然后log_action_cont_msg“不响应TERM信号(pid $ DAEMONPID)”否则rm -f $ UPGRADEFILE fi fi log_action_end_msg 0 ;; status)status_of_proc -p“ $ PIDFILE”“ $ DAEMON” kdm &&退出0 || 退出$?
这是该文件在另一台PC上的显示,但是昨晚我看不到它,我向您展示了我的另一种选择

然后找到的解决方案是创建自己的启动脚本,该脚本用于KDM或我们要启动的任何其他应用程序,其中包含以下内容:

#! / bin / sh PATH = / sbin:/ bin。 /lib/init/vars.sh。 / lib / lsb / init函数的大小写在开始时为“ $ 1” |“”)/ usr / bin / kdm ;; 停止)#不操作;; *)echo“用法:kdm [开始|停止|重新启动]”>&2退出3 ;; 那C

现在,为了使KDM自动启动,必须​​激活所述脚本,因此我使用 RC会议 为了它。 准备好了但是,我建议使用原始😛


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   VICKY

    我正在使用kdm的替代方法sddm。

    1.    拉夫

      嗯我不认识她..我去看看。

    2.    拉夫

      废话! 它需要GLIBC 2.14,在Debian中,我有2.13¬_¬

  2.   s0rmt4il

    嗯,这看起来不错:D .. elav,要包括其他环境并有效使用上述脚本,我们只需要更改要使用的窗口管理器的名称即可?

    的问候!

  3.   厄多赛因9

    嘿。
    尽管它与文章本身无关,但我想问你:您能做一个“安装Wheezy之后要做的事情”吗?
    因为我在安装它时遇到了一些问题。 例如:
    1-虽然需要自行安装Wi-Fi网络,但安装完成后将没有Wi-Fi连接,甚至没有程序可以管理网络。 (我最后从直接控制台手动连接了它……但是在我看来,安装了wifi之后甚至没有安装网络管理器……之类的任何人……)
    2-尽管安装是使用您选择的语言进行的,但是系统是用英语安装的? 我不知道该如何纠正...

    好吧,niente piu ...如果您可以根据自己的经验来扩展此内容并发布信息,那么这对我非常有用...(我也想像其他人)。
    您好!

    1.    拉夫

      嗯,您使用什么桌面环境? 我想KDE ..

      1.    厄多赛因9

        你猜得很好。 是的,我使用KDE,但实际上我正在进入Debian的世界……您建议什么环境?
        在我成为Crunchbang的鼠标之前……我被它的稳定性所吸引,我以为是因为它基于Debian,所以我将自己投入到Debian中……我选择了KDE来选择……你会推荐一个吗?
        我提到的仅在KDE中发生?

        Saludosÿ谢谢

  4.   海罗

    你好,
    我阅读了您的文章,并想评论说我在使用KDE的Debian Wheezy中遇到问题,并且不知道是否相同。 我一直在疯狂地寻找解决方案,并在论坛中提出要求,但没人能告诉我原因。 错误是在通过Grub之后,有时debian不能启动,因为在出​​现这行文本之后,它一直停留在黑屏上(这是第三行):

    等待/开发人员满员

    我的电脑是华硕K93SV笔记本电脑
    英特尔酷睿i7 2670QM
    该错误并不总是会发生。 当发生这种情况时,我必须强制关机并重新启动。

    1.    拉夫

      快速的Google搜索已将其返回给我:

      http://www.esdebian.org/foro/28882/waiting-for-dev-to-be-fully-populated

      告诉我是否可以解决您。

      1.    海罗

        我读了整篇文章,但我不敢这样做,因为我检查了menu.list,它与对话中出现的内容完全不同。

  5.   cooper15

    这个Elav总是发布有趣的棍子,我遇到了这个问题,因此我正在使用LightDM,这种方式效果很好,但是让我们看看这个脚本(奇怪的KDM)是否对我有用,谢谢您的贡献😉