Sådan konfigureres Redshift til at vente på Xorg: En trin-for-trin guide

Hvordan kan en bruger-niveau service for Redshift konfigureres til at vente, indtil Xorg er oppe og køre, når den nuværende servicefil forsøger at starte før Xorg og kræver manuel opstart bagefter?

For at sikre, at en bruger-niveau service for Redshift venter på Xorg, skal du justere servicefilen til at inkludere afhængigheder som "After=graphical-session.target" og "Environment=DISPLAY=:0".

Sådan konfigureres en bruger-niveau service for Redshift til at vente på Xorg

For at sikre, at en bruger-niveau service for Redshift venter på, at Xorg er oppe og køre, kan du justere servicefilen til at inkludere de nødvendige afhængigheder og betingelser. Følg disse trin:

  1. Åbn terminalen.
  2. Opret eller rediger Redshift servicefilen i brugerens systemd konfiguration:
    nano ~/.config/systemd/user/redshift.service
  3. Tilføj eller opdater følgende indhold i servicefilen:
    [Unit]
    Description=Redshift display color temperature adjustment
    After=graphical-session.target
    
    [Service]
    ExecStart=/usr/bin/redshift
    Restart=on-failure
    Environment=DISPLAY=:0
    
    [Install]
    WantedBy=default.target
  4. Gem og luk filen.
  5. Genindlæs systemd bruger-enheder:
    systemctl --user daemon-reload
  6. Aktiver og start Redshift tjenesten:
    systemctl --user enable redshift
    systemctl --user start redshift

Forklaring af de vigtigste ændringer:

  • After=graphical-session.target: Sikrer, at Redshift starter efter den grafiske session (Xorg) er oppe og køre.
  • Environment=DISPLAY=:0: Angiver display variablen, så Redshift ved, hvilken skærm den skal interagere med.

Disse ændringer sikrer, at Redshift tjenesten venter på, at Xorg er startet, før den forsøger at køre, hvilket eliminerer behovet for manuel opstart.