GNU/Linux >> Tutoriels Linux >  >> Linux

Comment détecter la disponibilité de l'interface graphique dans Bash/Shell ?

Sur macOS, il n'y a pas de moyen clairement approprié de vérifier cela à partir d'un shell, en tant que tel. Il existe une méthode programmatique, et nous pouvons utiliser un langage interprété pour en tirer parti.

Voici un petit script qui génère l'un des trois états, Mac GUI, Mac non-GUI ou 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

Les Mac peuvent avoir un serveur X installé, auquel cas DISPLAY est défini. Cependant, je ne sais pas si votre application Electron fonctionnera correctement dans cette configuration. Donc, je l'ai détecté séparément.


Linux
  1. Comment détecter Bash>=4.0 ?

  2. Comment vérifier la sous-chaîne dans Shell Script Bash?

  3. Comment exécuter un script shell sur une console Unix ou un terminal Mac ?

  4. Comment encoder une image en base64 dans Linux bash / shell

  5. Comment :Historique Bash/shell illimité ?

Comment utiliser la commande Declare dans Linux Bash Shell

Comment installer Linux Bash Shell sur Windows 10

Comment vérifier si un fichier ou un répertoire existe dans Bash Shell

Comment effacer l'historique de Bash sous Linux et Mac

Comment utiliser Linux Bash Shell dans Windows 10 ?

Comment grep une section d'un fichier dans bash shell