Скрипт за стартиране на KDM (в случай че не стане)

debianlight_kdm

Вчера преинсталирах моя Дебиан Уизи с моето персонализирано хранилище на КЪДЕ 4.10 и трябва да кажа, че ако е работил добре преди, сега се справя много по-добре.

Единственият проблем, който имах, беше с KDM, който очевидно изобщо не се инсталира добре, защото не искаше да стартира автоматично, нещо, което привлича вниманието ми, защото направих същата инсталация, със същите хранилища на другия компютър и всичко вървеше чудесно .

Търсейки причината за проблема, установих, че файлът не е създаден /etc/init.d/kdm което трябва да има това вътре:

#! / bin / sh -e ### НАЧАЛО НАЧАЛО ИНФОРМАЦИЯ # Предоставя: 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 # Кратко описание: X display manager for KDE # Описание: KDM управлява колекция от X сървъри, които могат да бъде на локален хост или отдалечени машини.
 ### END INIT INFO # /etc/init.d/kdm: стартиране или спиране на X дисплейния мениджър # Скрипт, първоначално откраднат от пакета xdm # # описание: K Display Manager # # импортиране на LSB init функции.  / 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 = вярно DEFAULT_DISPLAY_MANAGER_FILE = / etc / X11 / default-display-manager PATH = / bin: / usr / bin: / sbin: / usr / sbin DAEMON = / usr / bin / kdm PIDFILE = / var / run / kdm. 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 = / и т.н. / по подразбиране / kdm.d KDMCFGDIR = / var / run / kdm KDMCFG = $ KDMCFGDIR / kdmrc BACKGROUNDCFG = $ KDMCFGDIR / backgroundrc DEFAULT_KDM_THEME = / kdmx / aya ​​share / a / kdmx / a / share / kd / kd / share / apps / kdde4 $ DAEMON || изход 0 # некомментирайте, ако искате автоматичното влизане да зависи от нивото на изпълнение #test "$ runlevel" || {runlevel = `ниво на изпълнение`; ниво на изпълнение = $ {ниво на изпълнение # *}; } #test "$ runlevel" = 4 && ARG = -autolog || ARG = -noautolog #comment, ако искате тонове информация за отстраняване на грешки във вашия syslog #ARG = "$ ARG -debug 255" # използваме алтернативен kdm master конфигурационен файл ARG = "$ ARG -config $ KDMCFG" # генерираме kdm конфигурационни файлове genkdmconf --в $ KDMCFGDIR 1> / dev / null # ние заместваме източника.  run-parts сортира списъка в предвидим ред, ако [-d "$ KDMOVERRIDEDIR"]; след това за част в $ (run-parts --list "$ KDMOVERRIDEDIR" 2> / dev / null || true); ° С.  "$ 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 |" $ KDMCFG ако grep -q "^ [[: space:]] * Wallpaper = stripes.png" $ {BACKGROUNDRC}; след това [-n "$ WALLPAPER"] && [-e "$ WALLPAPER"] && sed -i "s | ^ # \? Wallpaper =. * | Wallpaper =` readlink -f $ WALLPAPER` | " $ BACKGROUNDCFG fi # usetheme вече е включен "по подразбиране", така че трябва да сме сигурни, че темата не е невалидна ...
 sed -i "s | @@@ ToBeReplacedByDesktopBase @@@ | $ DEFAULT_KDM_THEME |" $ {KDMCFG} # замествания за автоматично влизане са полезни за жива среда на debian, ако [-n "$ AUTOLOGINUSER"]; след това 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} # Ако надстроихме демона, не можем да използваме аргумента --exec до # start-stop-daemon, тъй като inode ще се промени. Рискът тук е, че # в ситуация, когато демонът е умрял, неговият pidfile не е бил почистен и # някакъв друг процес вече се изпълнява под този pid, start-stop-daemon ще изпрати # сигнали към невинен процес. Това обаче изглежда като ъглов случай.
 # Такъв е животът!
 ако [-e $ UPGRADEFILE]; тогава 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; след това вярно else # ако демонът не премахне собствения си 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); това не е мениджърът на дисплея по подразбиране."
 else log_daemon_msg "Стартиране на K Display Manager" "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 --quet $ SSD_ARGS; след това log_action_end_msg 0 else log_action_end_msg 1 "kdm не работи" fi ;; принудително презареждане) /etc/init.d/kdm reload ;; стоп) log_action_begin_msg "Спиране на K Display Manager: kdm" ако [!  -f $ PIDFILE]; тогава log_action_end_msg 0 "не работи ($ PIDFILE не е намерен)" изход 0 else DAEMONPID = $ (cat $ PIDFILE | tr -d '[: blank:]') KILLCOUNT = 1 if [!  -e $ UPGRADEFILE]; тогава ако start-stop-daemon --stop --quiet $ SSD_ARGS; след това # дайте на манипулатора на kdm секунда, за да си поеме дъх 1 else log_action_cont_msg "не работи" fi fi докато [$ KILLCOUNT -le 5]; направете ако still_running; след това убийте $ DAEMONPID иначе прекъснете fi sleep 1 KILLCOUNT = $ (($ KILLCOUNT + 1)) направено, ако still_running; след това log_action_cont_msg "не отговаря на сигнал TERM (pid $ DAEMONPID)" else rm -f $ UPGRADEFILE fi fi log_action_end_msg 0 ;; статус) status_of_proc -p "$ PIDFILE" "$ DAEMON" kdm && изход 0 || изход $?
Това е, което споменатият файл има на другия компютър, но не можах да го видя снощи, показвам ви другата ми алтернатива

Решението, което намерих тогава, беше да създам собствен скрипт за стартиране, който се използва за KDM или друго приложение, което искаме да стартираме, което съдържа това:

#! / bin / sh PATH = / sbin: / bin. /lib/init/vars.sh. / lib / lsb / init-functions случай "$ 1" в начало | "") / usr / bin / kdm ;; стоп) # No-op ;; *) echo "Употреба: kdm [старт | стоп | рестартиране]"> & 2 изход 3 ;; че С

Сега, за да може KDM да стартира автоматично, е необходимо да активирам споменатия скрипт, затова използвам RCConf за него. И готово. Препоръчвам обаче да използвате оригинала 😛


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

      Вики каза той

    Използвам алтернатива на kdm, наречена sddm.

         елав каза той

      Хм. Не я познавах .. Отивам да погледна.

         елав каза той

      Глупости !!! Той се нуждае от GLIBC 2.14, а в Debian имам 2.13 ¬_¬

      st0rmt4il каза той

    Ъъъъ, изглежда добре: D .. elav, за да включим други среди и да използваме валидно споменатия скрипт, просто трябва да сменим името на мениджъра на прозорци, който искаме да използваме нали?

    Поздрави!

      ердосаин9 каза той

    Здравейте.
    Въпреки че не е свързано със самата статия, исках да ви попитам: бихте ли могли да направите „какво да правите след инсталиране на Wheezy“?
    Защото срещнах някои проблеми при инсталирането му. Например:
    1-Въпреки че е необходима Wi-Fi мрежата да се инсталира, когато приключи инсталирането, няма Wi-Fi връзка и дори няма програма за управление на мрежите. (Свързах го в края ръчно от директна конзола ... но ми се струваше всеки, който се свързва с wifi, докато се инсталира и след това дори не инсталира мрежов мениджър ... или нещо такова ...)
    2 - въпреки че инсталацията е на избрания от вас език, тогава системата е инсталирана на английски? Нямам идея как да поправя това ...

    И добре, niente piu ... ако можете да разширите това с вашия опит и да публикувате публикация, това би ми послужило много хехе ... (Представям си и други).
    Поздрави!

         елав каза той

      Хм, каква работна среда използвате? Предполагам KDE ..

           ердосаин9 каза той

        Много добре познаете. Да, използвам KDE, но всъщност попадам в света на Debian ... каква среда препоръчвате?
        Преди да бъда мишка в Crunchbang ... и бях привлечен от това колко стабилна беше тя, предполагах, че тъй като се основава на Debian и затова се хвърлих в debian ... избрах KDE да избера ... който бихте ли препоръчали?
        И това, което споменавам, се случва само в KDE?

        Saludos г. Gracias

      Хайро каза той

    Здравейте,
    Прочетох статията ви и искам да коментирам, че имам проблем в Debian хриптене с KDE и не знам дали е същото. Търсих като луд решение и питах във форуми, но никой не може да ми каже защо. грешката е, че след преминаване на Grub, понякога debian не се стартира, защото остава на черния екран след появата на този ред текст (той е третият):

    Изчаква / dev да бъде напълно населен

    Моят компютър е ASUS K93SV Notebook
    Intel Core i7 2670QM
    грешката не винаги се случва. когато се случи, трябва да принудя изключване и рестартиране.

         елав каза той

      Бързо търсене в Google ми върна това:

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

      Кажете ми дали ви решава.

           Хайро каза той

        Прочетох целия пост, но не смея да го направя, защото проверих списъка си menu.list и той е напълно различен от това, което се появява в този разговор.

      cooper15 каза той

    Този Elav винаги публикува интересни стикове, имам този проблем и затова използвам LightDM, който между другото работи доста добре, но нека видим дали този скрипт (странен KDM) работи за мен, оценявам приноса 😉