Jak se vám zjistit, zda současný terminál relace na obrazovce GNU?

hlasů
14

Mám příkaz chci spustit na .bashrcpouze tehdy, když je aktuální okno terminálu řízen obrazovce GNU. Jak to mám udělat? Existuje proměnná prostředí za to? míval jsem

pokud [-n $ okno]; pak
    příkaz
fi

Ale z toho, co mohu říci, $WINDOWmůže nebo nemusí být definovány pro všechny obrazovky podařilo relací.

Položena 12/08/2010 v 22:41
zdroj uživatelem
V jiných jazycích...                            


5 odpovědí

hlasů
17

Zkontrolujte, zda je proměnná prostředí $ STY (obsahuje informace o obrazovce) nebo $ TERM, že ‚obrazovka‘ (pravděpodobně méně spolehlivé).

Odpovězeno 12/08/2010 v 23:19
zdroj uživatelem

hlasů
5

signine je správné

Viz dokument

http://www.gnu.org/software/screen/manual/html_node/Environment.html

STY

Střídavé jméno socket. Pokud screenje vyvolána, a proměnná prostředí STYnastavena, pak se vytvoří pouze okno v běžící screenrelace, spíše než začínat novou relaci.

Odpovězeno 26/11/2011 v 01:08
zdroj uživatelem

hlasů
4

zkontrolujte $TERM, je nastavena na ‚ screen‘ v relaci obrazovky .. (ale ne 100% zaručené)

AKTUALIZACE

Případně můžete využít skutečnost, že v rozsahu, $TERMCAPobsahuje obrazovky podřetězec:

[[ $TERMCAP =~ screen ]] && echo "in screen"

také není 100% zaručené

Update2

pokud ani přístup funguje, můžete najít nějakou inspiraci obrazovky příručce

Odpovězeno 12/08/2010 v 22:45
zdroj uživatelem

hlasů
2

Chtěl bych navrhnout alternativní řešení, které je vždy viditelné a nevyžaduje ověření vědět, že jsou uvnitř screenrelace.

Stačí přidat / upravit soubor ~/.screenrcv $HOMEadresáři a přidat captionpříkaz:

caption always "%{= kc}Screen session on %H (system load: %l)%-28=%{= .m} %Y-%m-%d %0c"

a budete mít na samém dně jedné linii, která je vždy viditelná a barevné.

Screen session on host (system load: 1.50 1.40 1.30)        2017-04-23 14:06

Upozornění:

Pokud jste uvnitř obrazovky na host1 a otevřít jinou SSH relace host2 a otevřít obrazovku, která tam také .screenrcdostanete dva řádky v dolní části stohu od zdola nahoru (jako obal).

To je velmi užitečné v tomto případě!

Screen session on host2 (system load: 0.01 0.03 0.05) 2017-04-23 14:14 Screen session on host1 (system load: 0.00 0.00 0.00) 2017-04-23 14:14


Doplňující informace:

https://www.gnu.org/software/screen/manual/html_node/Caption.html

Command: caption always|splitonly [string]

https://www.gnu.org/software/screen/manual/html_node/String-Escapes.html#String-Escapes


Našel jsem to hit tady na SO.

Odpovězeno 23/04/2017 v 12:16
zdroj uživatelem

hlasů
1

Zkontrolujte, zda proměnné $ TERM

Odpovězeno 12/08/2010 v 22:45
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more