%PDF- %PDF-
Direktori : /snap/lxd/29351/bin/ |
Current File : //snap/lxd/29351/bin/remote-viewer |
#!/bin/sh run_cmd() { CMD="$1" shift unset LD_LIBRARY_PATH export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" export HOME="${SNAP_REAL_HOME}" export USER="${USERNAME}" [ -z "${XDG_DATA_HOME:-}" ] && export XDG_DATA_HOME="${HOME}/.local/share/" [ -z "${XDG_CONFIG_HOME:-}" ] && export XDG_CONFIG_HOME="${HOME}/.config/" [ -z "${XDG_STATE_HOME:-}" ] && export XDG_STATE_HOME="${HOME}/.local/state/" exec unshare -U -r chroot "/var/lib/snapd/hostfs/" "${CMD}" "$@" } USERNS=1 [ -e /proc/sys/kernel/unprivileged_userns_clone ] && grep -qxF 0 /proc/sys/kernel/unprivileged_userns_clone && USERNS=0 [ -e /proc/sys/kernel/apparmor_restrict_unprivileged_userns ] && grep -qxF 1 /proc/sys/kernel/apparmor_restrict_unprivileged_userns && USERNS=0 [ -e /proc/sys/kernel/apparmor_restrict_unprivileged_unconfined ] && grep -qxF 1 /proc/sys/kernel/apparmor_restrict_unprivileged_unconfined && USERNS=0 find_and_spawn() { for path in / /usr/ /usr/local/; do if [ -e "/var/lib/snapd/hostfs/${path}bin/remote-viewer" ] || [ -e "${path}sbin/remote-viewer" ]; then run_cmd remote-viewer "${1}" fi if [ -e "/var/lib/snapd/hostfs/${path}bin/spicy" ] || [ -e "${path}sbin/spicy" ]; then run_cmd spicy --uri="${1}" fi done } [ "${USERNS}" = "1" ] && find_and_spawn "${1}" echo "LXD relies on either remote-viewer or spicy to provide VGA console access." echo "Those can't be bundled with the LXD snap and so need to be manually installed." echo "" echo " - \"remote-viewer\" usually comes in a package called virt-viewer" echo " - \"spicy\" usually comes in a package called spice-client-gtk" echo "" echo "Install either of those and they will automatically start." echo "Alternatively you may use another SPICE client using the following URI:" echo " ${1}" if [ "${USERNS}" = "0" ]; then echo "" echo "Your system has unprivileged user namespaces disabled, as a result, " echo "you will need to manually run one a SPICE client with the URI above." exec sleep infinity else while :; do find_and_spawn "${1}" sleep 5s done fi