GNU/Linux >> Linux Esercitazione >  >> Linux

Cos'è la variabile d'ambiente XDG_VTNR?

Cos'è $XDG_VTNR ? Dove e quando viene impostato?

È impostato da pam_systemd modulo PAM, ed è impostato solo su macchine che utilizzano systemd, il che significa che non dovresti non fai affidamento su di esso nei tuoi script, a meno che tu non voglia farli dipendere da systemd.

Sui sistemi che utilizzano systemd, $XDG_VTNR sarà impostato sia in grafica (da lightdm , gdm , ecc.) e nelle sessioni in modalità testo (tramite /bin/login ).

Dove posso trovare la documentazione ufficiale su questa variabile?

Nel pam_systemd(8) manpage.

tty è un comando integrato mentre $XDG_VTNR è fornito da Xorg, perché le persone scelgono di usare $XDG_VTNR invece del tty integrato ?

1) tty è un programma autonomo, non integrato, e $XDG_VTNR non è fornito da Xorg.

2) Perché sono cose completamente diverse. Come chiaramente indicato nella sua manpage, tty(1) ti dirà il nome del terminale connesso al suo input standard, non il nome del terminale virtuale su cui potrebbe essere in esecuzione la tua sessione GUI o simili[1]. Considera questo:

$ script -q /dev/null
$ tty
/dev/pts/5
$ script -q /dev/null
$ tty
/dev/pts/6
$ tty </dev/zero
not a tty

[1] per cui XDG_VTNR non è neanche un indicatore affidabile.


Linux
  1. Dove viene impostato il termine Default della variabile di ambiente?

  2. Qual è il significato di POSIX?

  3. Quando assert() fallisce, qual è il codice di uscita del programma?

  4. Come cambiare la lingua del mio git?

  5. Dov'è impostata la variabile d'ambiente $HOME?

Che cos'è la shell in Linux?

Sapori di Ubuntu:qual è la differenza?

Cosa fa qui il '-' (trattino) dopo i nomi delle variabili?

Qual è la posizione corretta per la variabile PS1 Shell?

Qual è la differenza tra $(CC) e $CC?

Qual è il modo migliore per impostare una variabile d'ambiente in .bashrc?