自定义Linux登录自动提示语

设置提示语的方式

在Linux系统中,可以通过修改几个特定的文件来实现在用户登录时自动弹出提示语。以下是几个常用的方法:

1. 修改/etc/issue文件:

这个文件用于显示本地登录前的提示信息

sudo vi /etc/issue

在项目合作的时候,有时候服务器被多人使用;有时候需要设置提示信息,提醒登录的同学,当前系统正在被我占用;当然在公司场景中,比如发布更新维护之类的信息也能使用提示信息进行通知:

登录信息可以修改三个文件:

  • /etc/issue 本地登陆显示的信息,本地登录前
  • /etc/issue.net 网络登陆显示的信息,登录后显示,需要由sshd配置

/etc/issue:

\S
Kernel \r on an \m

含义:

\d #本地端时间的日期;
\l #显示当前tty的名字即第几个tty;
\m #显示硬体的架构 (i386);
\n #显示主机的网路名称;
\o #显示 domain name;
\r #当前系统的版本 (相当于 uname -r)
\t #显示本地端时间的时间;
\u #当前有几个用户在线。
\s #当前系统的名称;
\v #当前系统的版本;

2. 修改/etc/motd文件:

在类 Unix 系统中,/etc/motd 是一个包含「今日消息(Message of the day)」的文件。比起电子邮件,使用 Motd 给所有用户发送消息显得更有效率。其它操作系统中也可能有这一功能,比如 Multics 中的 Motd 信息分段。/etc/motd 的内容会在用户成功登录后由 Unix 登录命令显示,整个过程发生在 Shell 登录之前。较新的类 Unix 系统可以生成动态消息。Motd 也被运用在其它领域,比如 IRC 服务器、半条命系列游戏等。

这个文件用于显示登录后的提示信息

sudo vi /etc/motd

在文件中添加你的提示语,然后保存并退出编辑器。

3. 使用/etc/update-motd.d/目录:

在某些Linux发行版中,如Ubuntu,/etc/update-motd.d/目录下的脚本会在/etc/motd文件生成之前执行。你可以在这个目录下创建一个脚本,例如/etc/update-motd.d/99-custom,并在其中添加你的提示信息。

4. 使用/etc/profile~/.bashrc(对于bash shell):

这些文件在用户登录时执行,你可以在这些文件的末尾添加一些命令来显示提示信息。例如,在~/.bashrc文件中添加:

echo "欢迎登录到系统,这里是你的提示语"

这样,每次用户登录时,这个提示语都会显示。

哪里 Get 到好看的提示信息?

ASCiiWorld

在 AsciiWorld 中提供了现成的图案,左侧可按照分类来搜寻自己需要的字符画。不过 ASCiiWorld 历史悠久,上面的字符画稍显陈旧在这里插入图片描述

通过图片转换

V 友 Kokodayo 基于 Img2Motd 开发了网页版的 图片转Linux Shell彩色文本。不过对图片和终端的要求有点高。图片的长宽尽量控制在 100 * 100 以内,同时尽量避免使用过于复杂的图案。
在这里插入图片描述

文字特效

Patorjk 可以根据自己输入的文字,并选择对应的字体来生成字符画,字体种类比较丰富(老板:每天给我换 150 种,但遗憾的是生成语言仅支持英文,如果有中文生成需要的,可以考虑使用 ASCii 字符画生成器来实现。
在这里插入图片描述

Neofetch

当然,除了静态的字符画,我们还可以选择使用一些工具来动态显示欢迎信息。

Neofetch 是一款用于显示系统信息的脚本,同类的工具还有 ScreenFetch 和 Linux_Logo。Neofetch 除了可以显示 ASCii 字符画,还可以通过 w3m-img 等运行库在终端中显示全彩图片

在这里插入图片描述

安装方法

  • Debian / Ubuntu

    apt update && apt upgrade -y
    apt install neofetch -y
    
  • CentOS / Fedora / RHEL

    1. 安装 epel-release

      sudo yum install epel-release
      
    2. 添加第三方软件源

      curl -o /etc/yum.repos.d/konimex-neofetch-epel-7.repo https://copr.fedorainfracloud.org/coprs/konimex/neofetch/repo/epel-7/konimex-neofetch-epel-7.repo
      
    3. 使用包管理器安装 neofetch

      sudo yum install neofetch
      
  • macOS

    brew install neofetch
    

运行

neofetch

运行以后默认配置就会看到如下的信息了。
在这里插入图片描述
这些信息还可以自定义的。

自定义显示项目+汉化

vim ~/.config/neofetch/config.conf

修改print_info()相关配置
我的配置如下,我翻译的不一定准确,仅供参考。

print_info() {info titleinfo underlineinfo "操作系统" distroinfo "型  号" modelinfo "内核版本" kernelinfo "开机时间" uptimeprin "当前时间" "$(date +%Y年%m月%d"日 "%H时%M分%S秒)"info "S h e ll" shellinfo "分  辨  率" resolutioninfo "主  题" wm_themeinfo "Theme" themeinfo "Icons" iconsinfo "终  端" terminfo "终端字体" term_fontinfo "处  理  器" cpuinfo "显卡设备" gpuinfo "内  存" memoryinfo "CPU 已用" cpu_usageinfo "剩余电量" batteryinfo "内  网  IP" local_ipinfo "公  网  IP" public_ipinfo "用  户" usersinfo "语  言" locale  
}

配置完成以后,再次运行就能看到了

更高级的配置见:
https://github.com/dylanaraps/neofetch/wiki/Customizing-Info

更多 Neofetch 的玩法可以参考 Neofetch-Wiki,比如说通过 w3m-img 展示全彩图片、显示桌面截图、修改显示信息的类型、显示主机的扩展信息等等,在此不做过多阐述。

更改方法

  • 静态 Motd:如果是从图片转换的,那么将新 Motd 更名为 motd 上传至 /etc 目录中,重新登录终端即可生效。

  • 动态 Motd:在 Ubuntu 16.04 (其它系统同理)后,启用了动态 Motd,此时我们需要将生成的 motd 文件写入至 /etc/update-motd.d/30-banner 中的对应位置。

  • Neofetch:在 /etc/profile.d/ 创建一个名为 neofetch.sh 的脚本,填入以下内容,保存后重新登入 SSH 即可生效。

    #/bin/sh
    neofetch
    
最终效果

Patorjk
在这里插入图片描述

Neofetch
在这里插入图片描述
在这里插入图片描述

参考链接

  1. 给你的终端加点料 —— 自定义欢迎语
  2. CentOS 7安装neofetc并DIY配置
  3. Linux 公社:bash的登录与欢迎信息: /etc/issue,/etc/motd
  4. 旷世的忧伤:Linux 服务器维护简易指南
  5. Kokodayo:在 Linux Shell 的登录欢迎语里……放“图片”!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/477921.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot-vue-供应商招投标采购在线询价管理系统

1. 技术栈 后端(Spring Boot): 控制器(Controller)处理HTTP请求。 服务层(Service)处理业务逻辑。 数据访问对象(DAO)与MySQL数据库交互。 Spring Security用于权限控制。 前端&…

最短路径分析

路径分析参考地址 路径分析参考地址2 路径分析参考地址3 1 绘制线,添加snap+拓扑检查 2 融合线–矢量叠加-用线分割 3 打开pgadmin4 - 创建数据–query tool 4 postgis链接postgres,密码000000 add files导入数据后,geom改为the_geom, srd o改为 4326 options ,勾选 点击…

【软考高级信息系统项目管理师--第二十章:高级项目管理】

🚀 作者 :“码上有前” 🚀 文章简介 :软考高级–信息系统项目管理师 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 第二十章:高级项目管理 项目集管理项目组合管理组织级项目管理OPM&…

Docker原理及概念相关

Docker最核心的组件 image:镜像,构建容器,也可以通过Dockerfile文本描述镜像的内容。 (我们将应用程序运行所需的环境,打包为镜像文件) Container:容器 (你的应用程序,就跑在容器中 ) 镜像仓库(dockerhub)(…

软件测试系列:移动端安卓APP测试必备之ADB命令 (二)

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

HttpClient:HTTP GET请求的服务器响应输出

前言 在现代软件开发中,与网络通信相关的技术变得愈发重要。Java作为一种强大而灵活的编程语言,提供了丰富的工具和库,用于处理各种网络通信场景。本文将聚焦在Java中使用HttpClient库发送HTTP GET请求,并将服务器的响应数据进行…

键盘输入4个数,从小到大排序

题目 键盘输入4个整数&#xff0c;从小到大排序 思路 代码 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h>//键盘输入4个整数&#xff0c;从小到大排序 int main() {int n1, n2, n3, n4;scanf_s("%d %d %d %d", &n1, &n2, &n3, &n4);…

嵌入式Linux学习DAY21--目录io

对主函数传参&#xff1a; ./a.out 参数1&#xff08;指针数组&#xff09;&#xff0c;参数2....... 在代码中&#xff0c;要写成 int main(参数数量&#xff0c;const char *指针数组) lseek&#xff08;a,b,c&#xff09;: 功能&#xff1a;重新设定文件描述符的偏移量 参…

群晖如何给Audio Station添加歌词插件(内含QQ、酷我、酷狗、网易云等歌词插件)

文章目录 📖 介绍 📖🏡 环境 🏡📒 使用方法 📒📝 获取插件📝 添加插件📝 设置歌词📝 打开歌词⚓️ 相关链接 ⚓️📖 介绍 📖 本人将和大家分享如何给群晖的Audio Station套件添加歌词插件,从而让服务器上的歌曲可以自动的获取歌词 🏡 环境 🏡 本文

Java 基于 SpringBoot+Vue 的高校招生系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

SPSSAU【文本分析】|文本聚类

SPSSAU共提供两种文本聚类方式&#xff0c;分别是按词聚类和按行聚类。按词聚类是指将需要分析的关键词进行聚类分析&#xff0c;并且进行可视化展示&#xff0c;即针对关键词进行聚类&#xff0c;此处关键词可以自由选择。按行聚类分析是指针对以‘行’为单位进行聚类分析&…

如何结合《ISO 55001资产管理-管理系统要求》,提升资产管理绩效

在当今竞争激烈的商业环境中&#xff0c;有效的资产管理对于组织的成功至关重要。ISO 55001标准为组织提供了一个框架&#xff0c;帮助其建立和维护一个高效的资产管理系统&#xff0c;从而实现更好地管理资产并提升业绩的目标。本文将探讨如何结合ISO 55001标准&#xff0c;以…