Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64
Your IP : 3.17.174.204
Current Path : /snap/lxd/31333/bin/ |
| Current File : //snap/lxd/31333/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
|