• linux启动后自动登录并运行自定义图形界面程序


    在《Ubuntu CTRL+ALT+F1~F6 进入命令模式后不支持中文显示的解决办法》一文中提到linux启动在以后运行一个独占显示器的图形程序的两种办法。

    1、不启动xserver,使用fb或者directfb图形模式;

    2、启动xserver不启动桌面系统。

    第一种方法性能并不一定高,因为支持fb的显卡驱动可能找不到,就是用上显卡驱动了也需要CPU大量参与。另外如果用这种方式可供选择的图形程序开发技术就受限了。所以这种方法通常用在嵌入式环境下。

    第二种方法只要显卡驱动了,CPU就能得到解脱。另外可以使用各种开发技术,甚至java、C#。

    下面就介绍一下第二种方法。

    首先需要安装有xserver,还需要配置linux启动后进入文本环境,而不是图形环境。这个就不详细介绍了。

    设置自动登录

    (内容来自http://blog.chinaunix.net/uid-94449-id-2002624.html,写的很简洁明了,直接借用。)

    1.写脚本autologin

    代码:
    #!/bin/bash
    /bin/login -f 
    #你的用户名

    移动到/usr/bin/下,并且用chmod +x autologin设置可执行权限

    2.修改/etc/init/tty1.conf

    修改前:

    # tty1 - getty
    #
    # This service maintains a getty on tty1 from the point the system is
    # started until it is shut down again.

    start on stopped rc RUNLEVEL=[2345]
    stop on runlevel [!2345]

    respawn
    exec /sbin/getty -8 38400 tty1

    修改后:

    # tty1 - getty
    #
    # This service maintains a getty on tty1 from the point the system is
    # started until it is shut down again.

    start on stopped rc RUNLEVEL=[2345]
    stop on runlevel [!2345]

    respawn
    exec /sbin/getty -n -l /usr/bin/autologin -8 38400 tty1

    设置自动运行图形界面程序

    最初我的想法也是在启动桌面系统的代码中做手脚,修改相关的脚本,将启动桌面系统的代码修改为启动自定义图形界面程序的脚本。搜了一大圈没有找到结果,然后开机自己摸索startx的过程,从入口摸索下去找到一堆脚本大概理清了。

    startx的过程这里有一篇文章,比较详细。http://blog.csdn.net/clozxy/article/details/5488699

    继续按这个路子搜索文章,终于找到ubuntu设置开机启动图形应用程序,替换默认图形桌面一文。看了其中的做法,太野蛮,直接在中间劫持startx执行的客户程序。这么做有个重要的缺陷——startx命令被废了。切换到别的用户也不能用startx启动桌面系统了。

    所以决定换思路。保留startx可用。仅仅在某个用户的启动脚本中加上启动自定义图形程序的代码。

    linux用户的根目录下有各种在启动时设置环境变量,执行操作的脚本。这里在.bashrc中增加运行自定义图形界面程序的代码。

    由于图形界面程序需要xserver,所以使用xinit命令来启动图形界面程序。

    这样启动的图像界面程序没有窗口边框,因为没有启动窗口管理器。

    补充一句最好不要直接修改.bashrc,.bashrc最后会有几行代码和注释。提示将自定义的初始化过程放到另外一个指定名字的文件中,.bashrc会自动去执行它。

    (linux图形界面真不是linux的菜,启两个xserver之后简直慢死了。无意搜到这么一篇姨妈贴http://tieba.baidu.com/p/804746720?pid=8612574579&see_lz=1,其中的谈到的内容都没错。)

  • 相关阅读:
    Linux找回root密码
    关于Linux的随笔笔记
    需求征集系统进度03
    需求征集系统进度02
    需求征集系统进度01
    第六周总结
    阅读笔记03
    第一周总结
    第五周总结
    阅读笔记02
  • 原文地址:https://www.cnblogs.com/tgis/p/5515449.html
Copyright © 2020-2023  润新知