GNU/Linux >> Znalost Linux >  >> Linux

Jak poznám, že běžím na linuxové obrazovce nebo ne?

Řešení 1:

(Ukradeno z „Jak zjistím, zda jsem na obrazovce?“ na StackOverflow a autorem je uživatel jho. P.S. Na webech StackExchange nemůžete hlasovat pro duplikát.)

Zkontrolujte $STY . Pokud je null, jste na "skutečném" terminálu. Pokud něco obsahuje, je to název obrazovky, na které se nacházíte.

Pokud nejste na obrazovce:

[email protected] ~ $ echo $STY
[email protected] ~ $ 

Pokud jste na obrazovce:

[email protected] ~ $ echo $STY
2026.pts-0.ip-10-0-1-71

Pokud místo obrazovky používáte tmux, zaškrtněte také $TMUX . Chcete-li toto přidat do výzvy, přidejte do ~/.bashrc následující :

if [ -n "$STY" ]; then export PS1="(screen) $PS1"; fi
if [ -n "$TMUX" ]; then export PS1="(tmux) $PS1"; fi

Řešení 2:

Hledejte $STY který poskytuje podrobnosti, které screen používá ke komunikaci sama se sebou; $WINDOW bude pak aktuální screen číslo okna.

Řešení 3:

Jednoduchá kontrola, kterou obvykle používám, je stisknout Ctrl -a :

  • Pokud kurzor přeskočí na začátek řádku , nejsem uvnitř relaci obrazovky.

  • Pokud se nic nestane , vím, že jsem uvnitř relaci obrazovky a že jsem právě použil klávesu pro ovládání obrazovky. Poté jsem zmáčkl a (skok na začátek řádku), w (zobrazit okna aktuální obrazovky) nebo provést nějaký jiný „neškodný“ příkaz obrazovky, abyste se dostali zpět do příkazového řádku.

(Samozřejmě to funguje pouze v případě, že právě spouštíte bash nebo nějaký jiný software, který "skočí na začátek řádku" nebo udělá něco ekvivalentně neškodného, ​​když stisknete Ctrl-a.)

Řešení 4:

No, většina času (bez něčích pokusů podělat věci) vaše TERM bude nastaven na screen (nebo alespoň zmiňte screen někde).

Snadným řešením problému je spuštění obrazovky všude. Neodcházejte bez toho z domova, říkám.

Řešení 5:

Nechám si to ve svém .bashrc :

 PS1='[\[email protected]\h \W'
 if [ "$WINDOW" ]; then PS1="$PS1 ($WINDOW)"; fi
 PS1="$PS1]$"

Není to spolehlivé, ale kdykoli vytvořím novou obrazovku, vloží do výzvy číslo okna. Pokud nepoužívám screen , není tam žádné číslo.


Linux
  1. Jak používat Linux Screen Command

  2. Jak používat příkaz „screen“ v Linuxu

  3. Jak poznám, že mám spuštěný vnořený shell?

  1. Jak zjistit, kde je program v linuxu zaseknutý?

  2. Jak poznám, zda používám 32 nebo 64bitový Linux?

  3. Jak naplánuji restart na Linuxu?

  1. Linux – Jak zjistit, která Linuxová distribuce běží?

  2. Vim neběží uvnitř Tmux?

  3. Linux - Pomoc, dochází mi inody!