GNU/Linux >> Znalost Linux >  >> Linux

Jak zjistit dostupnost GUI v Bash/Shell?

V systému macOS neexistuje jednoznačně vhodný způsob, jak to zkontrolovat z prostředí shellu jako takového. Existuje programový způsob a my můžeme použít interpretovaný jazyk, abychom toho využili.

Zde je malý skript, který zobrazuje jeden ze tří stavů, Mac GUI, Mac bez GUI nebo X11:

#!/bin/bash
if [ `uname` = "Darwin" ]
then
    if which swift >/dev/null && swift <(cat <<"EOF"
import Security
var attrs = SessionAttributeBits(rawValue:0)
let result = SessionGetInfo(callerSecuritySession, nil, &attrs)
exit((result == 0 && attrs.contains(.sessionHasGraphicAccess)) ? 0 : 1)
EOF
)
    then
        echo "Mac GUI session"
    elif [ -n "$DISPLAY" ]
    then
        echo "Mac X11 GUI session"
    else
        echo "Mac non-GUI session"
    fi
elif [ -n "$DISPLAY" ]
then
    echo "X11 GUI session"
fi

Mac mohou mít nainstalovaný X server, v takovém případě DISPLAY je definováno. Nevím však, zda vaše aplikace Electron bude v této konfiguraci správně fungovat. Takže jsem to zjistil samostatně.


Linux
  1. Jak zjistit, zda je Shell řízen z Ssh?

  2. Jak Bash ví, jak je vyvoláván?

  3. Jak zjistit Bash>=4.0?

  1. Jak změnit Cron Shell (sh to Bash)?

  2. Jak zkontrolovat podřetězec v Shell Script Bash?

  3. Jak zahrnout soubor do skriptu bash shell

  1. Jak porovnávat řetězce ve skriptování Bash Shell

  2. Jak zopakovat nový řádek ve skriptech Bash Shell

  3. CentOS / RHEL :Jak zakázat historii shellu BASH