GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mendeteksi ketersediaan GUI di Bash/Shell?

Di macOS, tidak ada cara yang tepat untuk memeriksa ini dari shell. Ada cara terprogram, dan kami dapat menggunakan bahasa yang ditafsirkan untuk memanfaatkannya.

Berikut adalah skrip kecil yang menampilkan salah satu dari tiga status, Mac GUI, Mac non-GUI, atau 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 dapat menginstal server X, dalam hal ini DISPLAY didefinisikan. Namun, saya tidak tahu apakah aplikasi Elektron Anda akan berfungsi dengan baik dalam konfigurasi tersebut. Jadi, saya mendeteksinya secara terpisah.


Linux
  1. Bagaimana Mendeteksi Jika Shell Dikendalikan Dari Ssh?

  2. Bagaimana Cara Mendeteksi Bash>=4.0?

  3. Bagaimana Cara Memeriksa Substring Di Shell Script Bash?

  1. Cara menggemakan Baris Baru di Bash Shell Script

  2. Bagaimana cara menjalankan skrip shell di konsol Unix atau terminal Mac?

  3. Cara memasukkan file dalam skrip bash shell

  1. Cara memprogram dengan Bash:Sintaks dan alat

  2. Bagaimana Bash Tahu Bagaimana Itu Dipanggil?

  3. Bagaimana caranya:Riwayat Bash/Shell yang tidak terbatas?