V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
mornone
V2EX  ›  Linux

如图所示这种定制过的 Linux 系统,如何做到一开机就进入这种自定义的页面的?

  •  
  •   mornone · 23 天前 · 3355 次点击

    各位 V2EX 上的大佬,请问这是用的什么技术?

    拿到行业内的一个产品测试,对方要求提供一个服务器,将服务器 SSH 交给对方后,对方技术在服务器上一通操作部署后,服务器已经无法正常通过 SSH 来登录,通过服务器控制台再次进入就是图中这个样子,会显示一个产品的浏览器 URL 访问地址。

    请忽略图中打码部分,这部分为产品的名称,公司电话等,还有产品的访问 URL 地址等信息。请问这种 Linux 定制 UI 界面是什么的什么技术呢?

    3378d6311fc5eccc2be3ff76b125099e.png

    acbcc6444a7d6d01ec50e0f009d1352f.png

    22 条回复    2024-12-03 15:24:35 +08:00
    defunct9
        1
    defunct9  
       23 天前
    图看不到
    CapNemo
        2
    CapNemo  
       23 天前
    设置用户的登陆 shell 即可
    sivacohan
        3
    sivacohan  
       23 天前
    这东西叫 TUI ,Text-based user interface
    找个喜欢的工具就可以做。
    InDom
        4
    InDom  
       23 天前   ❤️ 1
    不懂,但猜可以通过 useradd -s /sbin/nologin 相似的手法,指向自己开发的程序代替 bash 是可行的。
    narakus
        5
    narakus  
       23 天前
    @InDom 之前整个自己写的跳板机,就是这种方法设置的,确实可行
    virusdefender
        6
    virusdefender  
       23 天前
    修改 login shell 为其他的程序就可以
    mornone
        7
    mornone  
    OP
       23 天前
    @narakus 大佬,不太懂,能大概说一下思路吗?
    mornone
        8
    mornone  
    OP
       23 天前
    @virusdefender 大佬,不太懂,能大概说一下吗?
    debuggerx
        9
    debuggerx  
       23 天前   ❤️ 1
    简单做用 dialog 命令写点脚本就行了: https://linuxcommand.org/lc3_adv_dialog.php
    开机就显示的话,设置 autologin 或者 systemd 都行
    mornone
        10
    mornone  
    OP
       23 天前
    @defunct9 大佬,不好意思,我找的图床可能有问题,需要挂代理
    mornone
        11
    mornone  
    OP
       23 天前
    @debuggerx 大佬牛逼,貌似和我截图的差不多,谢谢大佬
    mornone
        12
    mornone  
    OP
       23 天前
    @debuggerx 大佬,请问这种设置了开机就显示的,有办法通过什么方式方法进入到系统吗?
    virusdefender
        13
    virusdefender  
       23 天前
    @mornone 正常 ssh 进去启动的是 /bin/bash ,你写一个新的程序,设置为 login shell 为这个程序就可以了
    LanhuaMa
        14
    LanhuaMa  
       23 天前
    关键词 ncurses, 这个库提供 ghost 那样的蓝白黑文字窗口。。
    ETiV
        15
    ETiV  
       23 天前 via iPhone   ❤️ 1
    你云服务器的话,把这台机器关机,系统盘摘下来挂到别的机器下面当数据盘,把什么登录 shell 、ssh 都打开,应该就行了
    mylovesaber
        16
    mylovesaber  
       23 天前
    linux 下有一个命令叫 whiptail ,这个命令就可以构造出一楼的图,贴个简单教程:

    https://en.wikibooks.org/wiki/Bash_Shell_Scripting/Whiptail
    liaohongxing
        17
    liaohongxing  
       23 天前
    按 ALT + F1 , ALT + F2 , ALT + F3, ALT + F4 ,切换其他 shell 应该可以解决
    Tink
        18
    Tink  
       23 天前
    这难道不就是登录之后的页面吗?你直接搜 MOTD
    ns09005264
        19
    ns09005264  
       23 天前
    这是 TUI 程序,运行在终端里,自动启动的命令一般都在 shell 的配置文件(~/.bashrc 或.zshrc)中设置。
    你按 Ctrl+Z 将当前程序切换到后台,正常情况下现在可以输入命令了,然后看~/.bashrc 或~/.zshrc 中都启动了什么程序。
    424778940
        20
    424778940  
       23 天前 via Android
    这不就 passed 指定了用户的 shell 到自己写的程序
    界面是 tui 写的
    billgong
        21
    billgong  
       23 天前
    楼上各位说的,再加上一层 jailed shell 就可以基本杜绝运行其他非授权的命令了。
    mingtdlb
        22
    mingtdlb  
       22 天前
    > 通过服务器控制台再次进入就是图中这个样子,会显示一个产品的浏览器 URL 访问地址

    是连上显示器就显示这个了吧?见过有些虚拟化厂家有这个搞,比如 esxi 。连上显示器有显示一个画面,按键盘某个键,输入密码后,可以切换到 shell
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1047 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:29 · PVG 03:29 · LAX 11:29 · JFK 14:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.