KDMを開始するためのスクリプト(開始しない場合)

debianlight_kdm

昨日再インストールしました Debian ウィジー 私のカスタムリポジトリで KDE 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#Should-Stop:console-screen kbd#Default-Start:2 3 4 5#Default-Stop:0 1 6#簡単な説明:KDEのXディスプレイマネージャー#説明:KDMはXサーバーのコレクションを管理します。ローカルホストまたはリモートマシン上にある。
 ### END INIT INFO#/ etc / init.d / kdm:Xディスプレイマネージャーを開始または停止します#xdmパッケージから最初に盗まれたスクリプト##説明:Kディスプレイマネージャー## LSBinit関数をインポートします。  / lib / lsb / init-functions#ロケールを設定if [-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 / run / kdm.pid UPGRADEFILE = / var / run / kdm.upgrade setup_config(){#kdmのカスタマイズをサポートするパラメーターKDMRC = / etc / kde4 / kdm / kdmrc BackgroundRC = / etc / kde4 / kdm / backgroundrc#構成がkdmthemeまたは他のツールによって変更された場合、grep -q "^ [[:space:]] * Theme = @@@ ToBeReplacedByDesktopBase @@@" $ {KDMRC};の場合、magickを実行しないでください。 次に、KDMOVERRIDEDIR = / etc / default / kdm.d KDMCFGDIR = / var / run / kdm KDMCFG = $ KDMCFGDIR / kdmrc BackgroundCFG = $ KDMCFGDIR / backgroundrc DEFAULT_KDM_THEME = / kdmx / ariya-apps / kdmx / share / testiya-THEME = / kdm / share / apps $ DAEMON || exit 4#自動ログオンを実行レベルに依存させる場合はコメントを解除します#test "$ runlevel" || {runlevel = `runlevel`; runlevel = $ {runlevel#*}; } #test "$ runlevel" = 0 && ARG = -autolog || ARG = -noautolog#コメントを解除します。syslogに大量のデバッグ情報が必要な場合は#ARG = "$ ARG -debug 4"#代替のkdmマスター構成ファイルを使用しますARG = "$ ARG -config $ KDMCFG" #kdmを生成します構成ファイルgenkdmconf--in $ KDMCFGDIR 255> / dev / null#ソースオーバーライド。  run-partsは、[-d "$ KDMOVERRIDEDIR"];の場合、予測可能な順序でリストを並べ替えます。 次に、$の部分について(run-parts --list "$ KDMOVERRIDEDIR" 2> / dev / null || true); c。  "$ part" done 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 |" $ KDMCFG [-n "$ LANGUAGE"] && sed -i "s | ^#\?言語=。* |言語= $ LANGUAGE |" $ KDMCFG if grep -q "^ [[:space:]] * Wallpaper = Stripes.png" $ {BACKGROUNDRC}; 次に[-n "$ WALLPAPER"] && [-e "$ WALLPAPER"] && sed -i "s | ^#\?壁紙=。* |壁紙=` readlink -f $ WALLPAPER` | " $ BackgroundCFG fi#usethemeは「デフォルト」になっているため、テーマが無効でないことを確認する必要があります...
 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が#シグナルを無実のプロセスに送信することです。 ただし、これはコーナーケースのようです。
 #C'est la vie!
 if [-e $ UPGRADEFILE]; then SSD_ARGS = "-pidfile $ PIDFILE --startas $ DAEMON" else SSD_ARGS = "-pidfile $ PIDFILE --exec $ DAEMON" fi still_running(){if expr "$(cat / proc / $ DAEMONPID / cmdline 2> / dev / null) ":" $ DAEMON "> / dev / null 2>&1; then true else#デーモンが自身のpidfileを削除しない場合、rm -f $ PIDFILE $ UPGRADEFILE false fi; } case "$ 1" in start)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)を起動していません。デフォルトのディスプレイマネージャーではありません。"
 else log_daemon_msg "Starting K Display Manager" "kdm" if start-stop-daemon --start --quiet $ SSD_ARGS- $ ARG; 次にlog_end_msg0 else log_action_end_msg 1 "すでに実行中" fi fi ;; 再起動)/etc/init.d/kdm stop if [-f $ PIDFILE]; 次に、still_runningの場合。 次に、1を終了します。fifi/etc/init.d/kdm start ;; reload)log_action_begin_msg "K DisplayManager構成をリロードしています..."
 if start-stop-daemon --stop --signal 1 --quiet $ SSD_ARGS; 次にlog_action_end_msg0 else log_action_end_msg 1 "kdm not running" fi ;; force-reload)/etc/init.d/kdm reload ;; stop)log_action_begin_msg "Stopping K Display Manager:kdm" if [!  -f $ PIDFILE]; then log_action_end_msg 0 "not running($ PIDFILE not found)" exit 0 else DAEMONPID = $(cat $ PIDFILE | tr -d '[:blank:]')KILLCOUNT = 1 if [!  -e $ UPGRADEFILE]; 次に、start-stop-daemon --stop --quiet $ SSD_ARGSの場合。 次に、#kdmのシグナルハンドラーに1秒待って、息を止めます5 else log_action_cont_msg "not running" fi fi while [$ KILLCOUNT -le 1]; still_runningの場合に実行します。 次に、$ DAEMONPIDを強制終了します。それ以外の場合は、スリープを解除します。 次にlog_action_cont_msg "TERMシグナルに応答していません(pid $ DAEMONPID)" else rm -f $ UPGRADEFILE fi fi log_action_end_msg 1 ;; status)status_of_proc -p "$ PIDFILE" "$ DAEMON" kdm && exit 0 || $を終了しますか?
これは、他のPCにあるファイルの内容ですが、昨夜は表示されませんでした。他の選択肢を紹介します。

そのとき私が見つけた解決策は、KDMまたは起動したい他のアプリケーションに使用される独自の起動スクリプトを作成することでした。これには次のものが含まれています。

#! / bin / sh PATH = / sbin:/ bin。 /lib/init/vars.sh。 / lib / lsb / init-functions case "$ 1" in start | "")/ usr / bin / kdm ;; 停止)#いいえ-操作;; *)echo "Usage:kdm [start | stop | restart]">&2 exit 3 ;; そのC

さて、KDMを自動的に起動するには、上記のスクリプトをアクティブ化する必要があるので、 RC会議 それのための。 そして準備ができました。 ただし、オリジナルを使用することをお勧めします😛


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   ヴィッキー

    私はsddmと呼ばれるkdmの代替を使用しています。

    1.    エラヴ

      うーん。 私は彼女を知りませんでした..私は見るつもりです。

    2.    エラヴ

      くだらない !!! GLIBC 2.14が必要で、Debianには2.13¬_¬があります。

  2.   st0rmt4il

    うーん、それは問題ないようです:D .. elav、他の環境を含めて、前述のスクリプトを有効に使用するには、使用したいウィンドウマネージャーの名前を変更するだけですよね?

    ご挨拶!

  3.   エルドサイン9

    ねえ。
    記事自体とは関係ありませんが、「Wheezyをインストールしてからどうするか」とお聞きしたいと思います。
    インストールで問題が発生したためです。 例えば:
    1-インストールにはWi-Fiネットワークが必要ですが、インストールが完了すると、Wi-Fi接続がなく、ネットワークを管理するプログラムもありません。 (最後に直接コンソールから手動で接続しました...しかし、インストール中に誰かがWi-Fiに接続し、ネットワークマネージャーもインストールしないように見えました...または何か...)
    2-インストールは選択した言語で行われますが、システムは英語でインストールされますか? それを修正する方法がわかりません...

    そして、まあ、niente piu ...これをあなたの経験で拡張して投稿することができれば、それは私にとって非常に役に立ちます...(私は他の人も想像します)。
    ご挨拶!

    1.    エラヴ

      うーん、どのデスクトップ環境を使用していますか? KDEだと思います。

      1.    エルドサイン9

        あなたは非常によく推測します。 はい、私はKDEを使用していますが、実際にはDebianの世界に陥っています...どの環境をお勧めしますか?
        Crunchbangにしばらくいる前に...そしてそれがどれほど安定しているかに魅了されたので、それはDebianに基づいていたので、それが私がdebianに身を投じた理由だと思いました...私はKDEを選択しました...どれをお勧めしますか?
        そして、私が言及することは、KDEでのみ起こりますか?

        ご挨拶と感謝

  4.   ハイロ

    こんにちは、
    私はあなたの記事を読みましたが、KDEを使用したDebian wheezyに問題があり、それが同じかどうかわかりません。 私は狂ったように解決策を探し、フォーラムで尋ねましたが、誰も私に理由を教えてくれません。 エラーは、Grubを通過した後、このテキスト行が表示された後(XNUMX番目)に黒い画面に留まるため、debianが起動しない場合があることです。

    / devが完全に入力されるのを待っています

    私のコンピューターはASUSK93SVノートブックです
    インテルCore 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)が機能するかどうかを確認しましょう。貢献していただき、ありがとうございます😉