Kirjoittaja Aihe: Ubuntu 18.04 käynnistystiedostot  (Luettu 6164 kertaa)

Heku

  • Käyttäjä
  • Viestejä: 4
    • Profiili
Ubuntu 18.04 käynnistystiedostot
« : 29.06.18 - klo:21.38 »
Moro
Olen aika uusi Linuxin parissa mutta kokeneille konkareille nämä varmaan helppoja juttuja.
Olen ihmetellyt Ubuntun käynnistyssysteemiä. Netistä olen löytänyt aika ristiriitaista infoa, yleensä tiedostoja ei löydy mitä käsketään muokkaamaan jne. esim rc.local

Missä ja miten esim. käskytetään graafinen käyttöliittymä käyntiin?
Jos haluan käynnistää graafisen käyttöliittymän sijaan terminaalin, miten se onnistuu?
Voinko ajaa esim. alla olevan skriptin koneen käynnistyessä:
echo Morjens
read a

.bashrc tiedostoon voi lisätä skriptiä mutta se ajetaan vasta kun terminaali käynnistetään.

Jos näihin saisi jotain selvyyttä elämä helpottuisi kummasti taas vähäksi aikaa  :)

nm

  • Käyttäjä
  • Viestejä: 16426
    • Profiili
Vs: Ubuntu 18.04 käynnistystiedostot
« Vastaus #1 : 29.06.18 - klo:22.26 »
Olen ihmetellyt Ubuntun käynnistyssysteemiä. Netistä olen löytänyt aika ristiriitaista infoa, yleensä tiedostoja ei löydy mitä käsketään muokkaamaan jne. esim rc.local

Ubuntu 18.04:ssä ei taida enää olla vakiona /etc/rc.local -tiedostoa, mutta sellaisen voi luoda:
https://askubuntu.com/a/919598
https://askubuntu.com/a/1031860

Ubuntu käyttää nykyisin käynnistyksen ja palvelujen hallintaan systemd-järjestelmää, joten ohjeita kannattaa hakea sen perusteella. Ennen vuotta 2016 kirjoitetut ohjeet eivät todennäköisesti toimi enää kaikilta osin.


Missä ja miten esim. käskytetään graafinen käyttöliittymä käyntiin?

Systemd käynnistää gdm:n (tai esim. lightdm:n), joka puolestaan käynnistää X-palvelimen tai Waylandin.


Jos haluan käynnistää graafisen käyttöliittymän sijaan terminaalin, miten se onnistuu?

Tästä saattaisi olla apua: https://askubuntu.com/questions/882422/how-can-i-disable-all-display-managers

En tosin tarkkaan osaa sanoa, mitä konfiguraatiomuutoksia 18.04:ssä pitää tehdä. Jos graafiselle käyttöliittymälle ei ole lainkaan tarvetta, kannattaa asentaa Ubuntu Server tai jokin kustomoitu minimaalinen järjestelmä.


Voinko ajaa esim. alla olevan skriptin koneen käynnistyessä:
echo Morjens
read a

Tekstitilakäynnistyksen lisäksi login-kehote pitää korvata omalla skriptillä: https://raymii.org/s/tutorials/Run_software_on_tty1_console_instead_of_login_getty.html


Heku

  • Käyttäjä
  • Viestejä: 4
    • Profiili
Vs: Ubuntu 18.04 käynnistystiedostot
« Vastaus #2 : 30.06.18 - klo:11.08 »
Kiitos hyvistä linkeistä, olen toki noita jo läpi kahlannut.

Tällaisen rc.localin tekeminen onnistuu ja sen saa  systemctl start rc-local komennolla aktivoitua
Koodia: [Valitse]
#!/bin/sh -e
#
# rc.local
echo Morjens

exit 0

Jos siihen lisää read a niin ei enää toimikkaan
Koodia: [Valitse]
#!/bin/sh -e
#
# rc.local
echo Morjens
read a

exit 0

Heittää tällaisen herjan kun yrittää systemctl restart rc-local
”Job for rc-local.service failed because the control process exited with error code.
See "systemctl status rc-local.service" and "journalctl -xe" for details.”

Olenko ihan pihalla vai pitäisikö tuollainen koodi toimia käynnistyksessä  :-[

nm

  • Käyttäjä
  • Viestejä: 16426
    • Profiili
Vs: Ubuntu 18.04 käynnistystiedostot
« Vastaus #3 : 30.06.18 - klo:12.34 »
Heittää tällaisen herjan kun yrittää systemctl restart rc-local
”Job for rc-local.service failed because the control process exited with error code.
See "systemctl status rc-local.service" and "journalctl -xe" for details.”

Olenko ihan pihalla vai pitäisikö tuollainen koodi toimia käynnistyksessä  :-[

Read-komento ei toimi, koska rc.local-skriptiä ei ajeta interaktiivisessa terminaalissa, eikä mikään prosessi syötä dataa sille. Skripti jää siis taustalle jumiin odottamaan syötettä ja systemd sammuttaa sen väkisin tietyn ajan kuluttua.

Ei siis onnistu rc.localin avulla. Kuten yllä sanoin, tuollainen read-prompti vaatii login-kehotteen korvaamisen omalla skriptillä/ohjelmalla. Linkin takana on tarkka ohje.

Tekstitilakäynnistyksen lisäksi login-kehote pitää korvata omalla skriptillä: https://raymii.org/s/tutorials/Run_software_on_tty1_console_instead_of_login_getty.html
« Viimeksi muokattu: 30.06.18 - klo:12.36 kirjoittanut nm »

Heku

  • Käyttäjä
  • Viestejä: 4
    • Profiili
Vs: Ubuntu 18.04 käynnistystiedostot
« Vastaus #4 : 02.07.18 - klo:20.54 »
Näillä ohjeilla saikin jo ihan kivasti koneen tilttiin   :D

Sain oman skriptin pätkän toimimaan koneen käynnistyksessä ja sain koneen starttaamaan terminaaliin graafisen käyttöliittymän sijasta.

Suuri Kiitos nm

Heku

  • Käyttäjä
  • Viestejä: 4
    • Profiili
Vs: Ubuntu 18.04 käynnistystiedostot
« Vastaus #5 : 08.07.18 - klo:16.18 »
Muutama asia vielä askarruttaa:
1. Voiko noiden prosessien käynnistysjärjestystä muuttaa?
2. Jos haluaa että jotain esim. rc.local ei enää ajetakaan käynnistyksessä pitääkö se poistaa kokonaan? systemctl stop ei tunnu tehoavan.
3. Jos käynnistän koneen tekstitilassa terminaaliin niin onko käskyttää init 5 oikea tapa hypätä terminaalista graafiseen käyttöliittymään,?

nm

  • Käyttäjä
  • Viestejä: 16426
    • Profiili
Vs: Ubuntu 18.04 käynnistystiedostot
« Vastaus #6 : 08.07.18 - klo:16.51 »
Muutama asia vielä askarruttaa:
1. Voiko noiden prosessien käynnistysjärjestystä muuttaa?

Mitä prosesseja tarkoitat? Systemctl:n alaisten eri prosessien käynnistysjärjestys on kyllä konfiguroitavissa, mutta ei ole suositeltavaa muuttaa järjestelmäpalvelujen oletuskonfiguraatiota. Omat prosessit voi toki laittaa käynnistymään mihin tahansa kohtaan, jossa niiden vaatimat riippuvuudet täyttyvät. Login-kehotteen tai vastaavan virityksen osalta sopiva paikka on aikalailla käynnistyksen lopussa.


2. Jos haluaa että jotain esim. rc.local ei enää ajetakaan käynnistyksessä pitääkö se poistaa kokonaan? systemctl stop ei tunnu tehoavan.

Voit poistaa /etc/rc.local-tiedoston tai kytkeä palvelun pois päältä:

Koodia: [Valitse]
systemctl disable rc-local.service

3. Jos käynnistän koneen tekstitilassa terminaaliin niin onko käskyttää init 5 oikea tapa hypätä terminaalista graafiseen käyttöliittymään,?

Riippuu pitkälti siitä, miten olet tehnyt tekstitilakäynnistyksen konfiguraation. Jos olet vain kytkenyt gdm:n pois käytöstä, ajotason vaihto ei välttämättä tee mitään, mutta gdm:n käynnistäminen riittää:

Koodia: [Valitse]
systemctl start gdm
Yleensäkin systemd:n kanssa ajotasojen sijaan on käytössä targetit, joita vaihdetaan tähän tapaan:

Koodia: [Valitse]
systemctl isolate graphical.target
Kokeile vaikka noita molempia, jos et ole varma, miten systeemi on nyt konfiguroitu. Komennot eivät tee pysyviä muutoksia.