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

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

  •  
  •   mornone · 2024-12-02 10:24:37 +08:00 · 4275 次点击
    这是一个创建于 370 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    3378d6311fc5eccc2be3ff76b125099e.png

    acbcc6444a7d6d01ec50e0f009d1352f.png

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

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

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