大连仟亿科技
客服中心
  • 电话
  • 电话咨询:0411-39943997
  • 手机
  • 手机咨询:15840979770
    手机咨询:13889672791
网络营销 >更多
您现在的位置:仟亿科技 > 新闻中心 > 常见问题

在tty里添加开机自启动的任务管理器

作者:billionnet 发布于:2012/6/9 17:09:58 点击量:

每当感觉到系统卡的时候,很好的方法无外乎进入 tty,登入,打开一个 top 监视。可是每次到了需要的时候才去开,打开的效率自然不敢恭维。于是便想,每次开机的时候,记起来就跑到 tty 下面去先开起来。不过这件事情总归是麻烦的,于是才有了现在的方案。

既然 tty 那么多,那我们就把他利用一下吧~让他开机自动在某个 tty 里面启动 top 无疑最方便了~

首先呢,我找到了 Ubuntu 里面 tty 配置存放的地方 /etc/init/ttyX.conf,其中的 X 便是 tty 的编号,我这里选择了 tty6.conf。打开这个文件,结构简单极了,看到里面

10

exec /sbin/getty -8 38400 tty6

就知道,肯定和 getty 有关系。man getty 里面查到可以通过 -l 参数设置登入程序替代 /bin/login。查了一下 man login,发现可以通过 -f username 的方式不进行验证地登入。

于是我就在 /bin 下面新建了一个 autologin 文件(其实理论上放哪里都可以,不过很好要用 root 权限创建,不然可以乱改就不好了),里面写上

1

2

#!/bin/sh

/bin/login -f upsuper

给这个文件加上可执行属性,接着将 /etc/init/tty6.conf 里面刚才那一行改成

1

exec /sbin/getty -8 -l "/bin/autologin" 38400 tty6

重启。

进入 tty6 发现没有效果,还是提示用户名,无语……于是输入了用户名 upsuper,结果发现没有要求密码,直接进入了。我退出登入,再输入 root,发现依然没有要求密码而直接进入了 upsuper 权限。

再查查 man getty,发现那个请求用户名是 getty 输出的,里面提到了 -n 参数,可以消除对用户名的请求,以及 -i 参数,不输出请求前的文字(在我的 Ubuntu 里面就是“Ubuntu 9.10”)。于是上面那行被改成了

10

exec /sbin/getty -8in -l "/bin/autologin" 38400 tty6

重新启动,发现已经可以自动进入。

不过我要的不是这个效果~

其实简单地说,我那个要实现也不难,按照现在的情况,就是在 ~/.bashrc 里面加上一行判断的事情了。不过我可不想这样。这样的话如果退出了 top 就会进入命令行。我的想法是,永远不让他进入命令行,这样看过去比较爽~

于是我就倒腾起了 login 程序的 FAKE_SHELL,如果在 autologin 脚本里改变环境变量,根本影响不了 login 程序,无论我改 FAKE_SHELL,还是 SHELL,都没有用,login 仍然义无反顾地进入了 bash……

后面我就想,唉,其实 autologin 脚本就是一正常脚本,只不过在登入的时候以 root 权限运行嘛,那我直接在里面运行 top 不久行了~考虑到权限因素,就是用 su 把权限改一下,不就解决问题了么?

于是终终版的 autologin 就出炉了:

1

2

#!/bin/sh

su -c "/usr/bin/top" upsuper

这个后面效果是什么样的呢?就是 top 以我的用户权限运行,然后点击 q 退出就会重新启动一个 top。这就是我要得效果了~很好很强大~算是合理的利用了一个 tty 了。现在只要点击 Ctrl-Alt-F6 就可以有现成的任务管理器了~

其实根据这个思路,tty 可以做的事情还很多。本来那个什么 -l 啦,-n 什么的,是拿来做自定义登入验证方式的,我觉得这个也大有文章可做~后面再感叹一下,Linux 实在太强大了~

补充:

这篇文章被我投递到了 LinuxTOY 上面,然后下面有人提到使用 htop 代替 top,我试了一下,貌似 htop 的资源占用要比 top 高出许多,因此我后面没有替换。

不过 htop 貌似确实好用很多,如果需要的话,只要安装 htop 后(Ubuntu 源里是有的),然后把 autologin 里面的

2

su -c "/usr/bin/top" upsuper

改成

2

su -c "/usr/bin/htop" upsuper

下面只要进入那个 tty 点 q 退出当前 top,马上就会自动替换为 htop 启动了~

还有就是,本来想写的,但写的时候忘记了。因为网上查找相关资料极其不便,于是就使用了 Linux 自己的 man。这几本上也是我第一次完全依靠 man 来解决问题~Linux 的手册也还是很强悍的嘛~



分享到:


评论加载中...
内容:
评论者: 验证码:
  

Copyright@ 2011-2017 版权所有:大连仟亿科技有限公司 辽ICP备11013762-1号   google网站地图   百度网站地图   网站地图

公司地址:大连市沙河口区中山路692号辰熙星海国际2215 客服电话:0411-39943997 QQ:2088827823 42286563

法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明