From 45044b1f774598022be8cbefe645de29677c329f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80?= <78488229+viktor138irk@users.noreply.github.com> Date: Wed, 6 May 2026 18:39:31 +0900 Subject: [PATCH] Add console dashboard installer --- scripts/install_console_dashboard.sh | 81 ++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 scripts/install_console_dashboard.sh diff --git a/scripts/install_console_dashboard.sh b/scripts/install_console_dashboard.sh new file mode 100644 index 0000000..53e99f4 --- /dev/null +++ b/scripts/install_console_dashboard.sh @@ -0,0 +1,81 @@ +#!/usr/bin/env bash +set -euo pipefail + +REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +DASH_SRC="${REPO_DIR}/scripts/virtuality_console_dashboard.sh" +DASH_DST="/usr/local/bin/virtuality-console-dashboard" +SERVICE_FILE="/etc/systemd/system/virtuality-console-dashboard.service" +TARGET_USER="${SUDO_USER:-${USER:-root}}" + +if [[ "$EUID" -ne 0 ]]; then + echo "Ошибка: запусти через sudo: sudo bash scripts/install_console_dashboard.sh" + exit 1 +fi + +if [[ ! -f "$DASH_SRC" ]]; then + echo "Ошибка: не найден файл $DASH_SRC" + exit 1 +fi + +apt update +apt install -y btop procps iproute2 util-linux coreutils + +install -m 0755 "$DASH_SRC" "$DASH_DST" + +cat > "$SERVICE_FILE" </dev/null 2>&1 || true +systemctl enable --now virtuality-console-dashboard.service + +USER_HOME="$(getent passwd "$TARGET_USER" | cut -d: -f6 || true)" +if [[ -n "$USER_HOME" && -d "$USER_HOME" ]]; then + BASHRC="$USER_HOME/.bashrc" + touch "$BASHRC" + grep -q "alias bt=" "$BASHRC" || cat >> "$BASHRC" <<'EOF' + +# Virtuality quick aliases +alias bt='btop' +alias dash='sudo systemctl restart virtuality-console-dashboard && sudo chvt 1' +alias dash-stop='sudo systemctl stop virtuality-console-dashboard' +alias dash-start='sudo systemctl start virtuality-console-dashboard' +alias dash-status='systemctl status virtuality-console-dashboard --no-pager' +alias vcheck='cd ~/virtuality && sudo bash scripts/check_node.sh' +EOF + chown "$TARGET_USER:$TARGET_USER" "$BASHRC" || true +fi + +echo "============================================================" +echo "Virtuality console dashboard installed" +echo "============================================================" +echo "Физический монитор: tty1" +echo "Перейти на дашборд: sudo chvt 1" +echo "Команда btop: bt" +echo "Перезапустить дашборд: dash" +echo "Остановить дашборд: dash-stop" +echo "Запустить дашборд: dash-start" +echo "Статус: dash-status" +echo "============================================================"