runv-server

server tooling for runv.club
Log | Files | Refs | README

commit da0def46b10009a8d228a45a413285026ffbbe96
parent 515b244e357f76df3adcc5bac44186f926fcc38d
Author: Pablo Murad <pablo@pablomurad.com>
Date:   Sat, 21 Mar 2026 20:38:57 -0300

fixed a lot of stuff

Diffstat:
Mtools/docs/USER_EXPERIENCE.md | 2+-
Mtools/motd/60-runv | 3++-
2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/docs/USER_EXPERIENCE.md b/tools/docs/USER_EXPERIENCE.md @@ -8,7 +8,7 @@ Visão para **quem entra no servidor** pela primeira vez (e para quem documenta - logótipo **RUNV** (mesmo desenho UTF-8 da landing) **só nesse bloco** em verde; - tagline `.club — um computador para compartilhar` (sem estatísticas no MOTD; o comando **`runv-status`** existe mas **não** é listado aqui e só o utilizador **`pmurad-admin`** pode executá-lo); - **Comandos úteis** em lista, com nome a verde e descrição a cinza (ANSI), alinhada ao texto do `runv-help`; - - secção **Últimos usuários online**: grelha **3×3** com até **9 nomes únicos** (fonte: **`last`** / wtmp; ordem = atividade recente; cada utilizador só aparece **uma** vez; ignora linhas `reboot` / `wtmp`). Em **Debian 13+**, o binário **`last`** vem do pacote **`wtmpdb`** (o `tools.py` instala-o). O fragmento tenta **`/usr/bin/last`** se o PATH de `update-motd.d` não incluir `last`. Se aparecer *sem registos recentes em wtmp*, o ficheiro de logins ainda não tem entradas (ex.: sem logins SSH registados). + - secção **Últimos usuários online**: grelha **3×3** com até **9 nomes únicos** (fonte: **`last`** / wtmp; ordem = atividade recente; cada utilizador só aparece **uma** vez; ignora linhas `reboot` / `wtmp` e os utilizadores **`entre`** e **`root`**). Em **Debian 13+**, o binário **`last`** vem do pacote **`wtmpdb`** (o `tools.py` instala-o). O fragmento tenta **`/usr/bin/last`** se o PATH de `update-motd.d` não incluir `last`. Se aparecer *sem registos recentes em wtmp*, o ficheiro de logins ainda não tem entradas (ex.: sem logins SSH registados). - linha final: **digite `runv-help` para começar**. 2. **Prompt da shell** — Depende do shell padrão (geralmente Bash no Debian). O que o usuário **herda** da home vem do **`/etc/skel`** no momento em que a conta foi criada. diff --git a/tools/motd/60-runv b/tools/motd/60-runv @@ -40,12 +40,13 @@ print_last_sessions_3x3() { fi tf=$(mktemp -t runvmotd.XXXXXX 2>/dev/null) || tf=/tmp/runvmotd.$$ trap 'rm -f "$tf"' EXIT HUP INT - # Ignora reboot, wtmp e linhas vazias; até 9 nomes distintos (mais recentes primeiro) + # Ignora reboot, wtmp, entre/root (conta de pedido / admin); até 9 nomes distintos "$LAST_CMD" -n 500 2>/dev/null | awk ' /^reboot/ || /^wtmp/ || /^$/ { next } NF < 1 { next } { u = $1 + if (u == "entre" || u == "root") next if (!(u in seen)) { seen[u] = 1 print u