如图所示这种定制过的 Linux 系统,如何做到一开机就进入这种自定义的页面的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
mornone
V2EX    Linux

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

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

    各位 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
      &nsp; 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     5222 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 08:44 PVG 16:44 LAX 00:44 JFK 03:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86