Ubuntu默认是每次登录都是要输入用户名和密码的,照理说这是安全方面虑,但是每次都要输入登录信息,对于自己玩的电脑或着没什么安全方面顾虑的用户来说,那是很烦的,所以我们要通过设置让Ubuntu能够自动登录。
1.System—Administration—Login Window (需要输入root用户的密码)
2.Login Window Preferences里点到Security选项页-勾选(Enable Automatic Login),然后在下来列表里选择自己的用户名,close,OK!(Allow local system administrator Login是允许root帐号登录的选项,如果你希望用root帐号登入系统,那就勾选这个选项吧。)
开机自动登录linux,并自动运行X window应用程序,有其特殊的应用背景,如基于
linux平台的监控系统,linux启动后不需要身份验证,而直接运行监控程序等等。本文以
Redhat7.2为平台,结合linux启动过程,介绍了如何避免身份验证自动登录,并直接进入
X window自动运行应用程序。
一、linux启动的最后阶段的工作
linux 在启动过程的最后阶段(具体启动步骤略),init 会根据 /etc/inittab文件的最
后一行x:5:respawn:/etc/X11/prefdm -nodaemon运行/etc/X11/prefdm脚本,(Red hat 7.2缺
省时是这样的)。prefdm脚本的主要任务是完成X window的启动,可以有几种启动X window的
方法,都包含在prefdm脚本中,几种主要方法有:
* 运行xdm启动X window;
* 运行gdm,进入gnome桌面环境;
* 运行kdm进入kde桌面环境;
* 自动登录进入linux;
prefdm脚本框架大致如下:
#!/bin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
. /etc/profile.d/lang.sh
# 第一步:查看是否为自动登录
if [ -f /etc/sysconfig/autologin -a -x /usr/sbin/autologin ]; then
if /usr/sbin/autologin; then
exit 0
fi
fi
# 第二步:如果不是自动登录方式,就会在/etc/sysconfig/desktop中搜寻用户偏爱的登录方式
......
# 可以是kdm、gdm以及xdm,并运行相应的kdm、gdm以及xdm。
......
二、自动登录的实现(autologin的实现)
在/etc/X11/prefdm脚本中,是否实现自动登录有一个条件测试开关,事实上, 可以在这
里注释掉测试开关,直接执行启动X window的操作。
自动登录实质上就是绕过身份验证,直接启动X window。 X window的启动可以由xinit来
完成。
1. Xinit用来启动X window系统服务器以及系统上的第一个客户程序,可以通过为xinit传
递命令行参数的形式指定要启动的服务器及客户程序。如果不传递参数给xinit,它将在用户的
根目录下寻找并运行 .xinitrc脚本来启动客户程序;在用户的根目录下寻找并运行.xserverrc
脚本来启动服务器。如果xinit在用户的根目录下找不到.xinitrc、.xserverrc,xinit将使用
缺省的X :0。
2. 实际上,用startx来启动X更为方便。对于运行单一会话的X window 系统, startx提
供了更为良好的用户接口。同样,startx首先在用户的根目录下寻找 .xinitrc及 .xserverrc
脚本,如果找不到这两个脚本,startx将使用/etc/X11/xinit/xinitrc以及
/etc/X11/xinit/xserverrc脚本。
startx脚本的最基本框架是:
a、 寻找.xinitrc,如果没有则使用xinitrc;
b、 寻找.xserverrc,如果没有则使用xserverrc;
c、 根据找到的脚本确定xinit的参数;
由此可看出,startx在不需要传递任何参数的情况下,可以完成启动X的任务,因此, 可
以如下修改/etc/X11/prefdm脚本来实现自动登录:
#!/bin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
. /etc/profile.d/lang.sh
# 第一步:查看是否为自动登录
#if [ -f /etc/sysconfig/autologin -a -x /usr/sbin/autologin ]; then
#注释掉上边的条件测试,直接运行startx
if /usr/X11R6/bin/startx; then
exit 0
fi
#fi
当然,应确保/etc/inittab中的启动级别为5。
重新启动系统,会发现系统不验证用户身份,直接进入X window,此时的用户身份为root。
但是,如果原来root有自己的桌面、默认shell时,上述方法启动X不一定保证还能拥有原来的
设置。为了在启动X后,在避免验证身份的同时,又不改变用户原来的设置,那么在运行startx
之前,还有工作要做。
三、自动登录后,保持用户原来的配置(桌面、shell以及其它的一些环境变量)。
观察原来/etc/X11/prefdm脚本的自动登录部分:
......
# 第一步:查看是否为自动登录
if [ -f /etc/sysconfig/autologin -a -x /usr/sbin/autologin ]; then
if /usr/sbin/autologin; then
exit 0
fi
fi
......
不难看出,脚本中保留了自动登录的接口:一个可执行文件/usr/sbin/autologin 以及一
个配置文件/etc/sysconfig/autologin。
1、/etc/sysconfig/autologin配置文件的实现:
#c onfig for autologin
USER=root
EXEC=/usr/X11R6/bin/startx
说明,USER指定自动登录时的用户名;EXEC指定启动X要运行的程序。
2、/usr/sbin/autologin可执行文件的实现:
/*********************
**** autologin.c ****
*********************/
#i nclude <stdio.h>
#i nclude <unistd.h>
#i nclude <string.h>
#i nclude <errno.h>
#i nclude <sys/types.h>
#i nclude <sys/stat.h>
#i nclude <pwd.h>
int main(int argc, char **argv)
{
struct stat st;
FILE *f;
char *cfg;
struct passwd *pw;
uid_t uid;
gid_t gid;
char *dir, *shell;
char *user=NULL;
char *cmd=NULL;
user="root";
/*为了能说明问题又保持程序简洁,这里默认登录用户为root,实际上,
登陆用户名应该从/etc/sysconfig/autologin中得到,
程序实现时要注意过滤掉/etc/sysconfig/autologin中的无效用户名*/
cmd="/usr/X11R6/bin/startx";
/*同样,这里直接指定启动X window的程序,实际上,该程序应该从/etc/sysconfig/autologin中得到*/
pw = getpwnam(user);
//getpwnam返回包含用户信息的passwd结构(该结构在pwd.h中定义)。
if(pw) {
uid=pw->pw_uid;
gid=pw->pw_gid; dir=strdup(pw->pw_dir);
shell=strdup(pw->pw_shell);
}
//获得用户相关信息
else {
printf("ERROR: No such user %s! ", user);
return 1;
}
chown("/dev/console", uid, gid);
chown("/dev/tty", uid, gid);
//为控制台和终端设置用户ID及组ID
//下面是设置用户相关ID
setregid(gid, gid);
setegid(gid);
setgid(gid);
setreuid(uid, uid);
seteuid(uid);
setuid(uid);
setenv("HOME", dir, 1);
setenv("SHELL", shell, 1);
setenv("USER", user, 1);
setenv("LOGNAME", user, 1);
//设置用户相关环境变量
chdir(dir);
//切换到用户根目录
user=NULL;
execvp(cmd, argv);
/*在配置完用户的相关信息后,执行启动X window操作。注意这里默认执行/usr/X11R6/bin/startx */
printf("ERROR: Couldn't exec %s: %s ", cmd, strerror(errno));
return 2;
}
运行gcc -o autologin autologin.c,拷贝autologin可执行文件到/usr/sbin/autologin,
拷贝autologin配置文件到/etc/sysconfig/autologin。 重新启动系统,会直接进入X window
并保留用户原来所有的风格。
如果不需要自动登录的配置文件/etc/sysconfig/autologin,所有的操作都在
/usr/sbin/autologin以默认的方式实现(比如,默认登录身份为root,默认执行操作为
/usr/X11R6/bin/startx等),那么,/etc/X11/prefdm脚本的自动登录部分可简化如下:
......
# 第一步:查看是否为自动登录
if /usr/sbin/autologin; then
exit 0
fi
//第二步 ......
......
即在脚本中去掉条件测试开关,直接执行/usr/sbin/autologin,这时,只需要拷贝autologin可执行文件到/usr/sbin/autologin,不再需要拷贝autologin配置文件到/etc/sysconfig/autologin。
四、选择进入kde或者gnome,并自动启动X window应用程序
1. 如果重新启动后系统进入了kde,而用户需要进入gnome,只需运行switchdesk gnome在重新启动系统即可,以后每次启动时会自动进入gnome;反之亦然。
2. 一般系统自动登录的目的是启动X window 后自动运行某个X window程序。如果系统默认的启动级别为3,那么如果要在系统启动后自动运行某些应用程序,只需要在某些脚本中加入相应命令即可,不再详述。在X window启动后自动运行应用程序要复杂一些,幸好,kde和gnome都为此留下了自动启动接口。如果在kde桌面环境下自动启动应用程序,只需要把应用程序名字加入/root/.kde/Autostart/目录下即可(这里注意不同用户的根目录可能不同,如用户zyx的根目录可能为/home/zyx)。如果在gnome桌面环境下自动启动应用程序,只需把应用程序的名字加入/主菜单/程序/设置/会话/会话特性及启动程序的startup programs属性页中即可。
1.System—Administration—Login Window (需要输入root用户的密码)
2.Login Window Preferences里点到Security选项页-勾选(Enable Automatic Login),然后在下来列表里选择自己的用户名,close,OK!(Allow local system administrator Login是允许root帐号登录的选项,如果你希望用root帐号登入系统,那就勾选这个选项吧。)
开机自动登录linux,并自动运行X window应用程序,有其特殊的应用背景,如基于
linux平台的监控系统,linux启动后不需要身份验证,而直接运行监控程序等等。本文以
Redhat7.2为平台,结合linux启动过程,介绍了如何避免身份验证自动登录,并直接进入
X window自动运行应用程序。
一、linux启动的最后阶段的工作
linux 在启动过程的最后阶段(具体启动步骤略),init 会根据 /etc/inittab文件的最
后一行x:5:respawn:/etc/X11/prefdm -nodaemon运行/etc/X11/prefdm脚本,(Red hat 7.2缺
省时是这样的)。prefdm脚本的主要任务是完成X window的启动,可以有几种启动X window的
方法,都包含在prefdm脚本中,几种主要方法有:
* 运行xdm启动X window;
* 运行gdm,进入gnome桌面环境;
* 运行kdm进入kde桌面环境;
* 自动登录进入linux;
prefdm脚本框架大致如下:
#!/bin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
. /etc/profile.d/lang.sh
# 第一步:查看是否为自动登录
if [ -f /etc/sysconfig/autologin -a -x /usr/sbin/autologin ]; then
if /usr/sbin/autologin; then
exit 0
fi
fi
# 第二步:如果不是自动登录方式,就会在/etc/sysconfig/desktop中搜寻用户偏爱的登录方式
......
# 可以是kdm、gdm以及xdm,并运行相应的kdm、gdm以及xdm。
......
二、自动登录的实现(autologin的实现)
在/etc/X11/prefdm脚本中,是否实现自动登录有一个条件测试开关,事实上, 可以在这
里注释掉测试开关,直接执行启动X window的操作。
自动登录实质上就是绕过身份验证,直接启动X window。 X window的启动可以由xinit来
完成。
1. Xinit用来启动X window系统服务器以及系统上的第一个客户程序,可以通过为xinit传
递命令行参数的形式指定要启动的服务器及客户程序。如果不传递参数给xinit,它将在用户的
根目录下寻找并运行 .xinitrc脚本来启动客户程序;在用户的根目录下寻找并运行.xserverrc
脚本来启动服务器。如果xinit在用户的根目录下找不到.xinitrc、.xserverrc,xinit将使用
缺省的X :0。
2. 实际上,用startx来启动X更为方便。对于运行单一会话的X window 系统, startx提
供了更为良好的用户接口。同样,startx首先在用户的根目录下寻找 .xinitrc及 .xserverrc
脚本,如果找不到这两个脚本,startx将使用/etc/X11/xinit/xinitrc以及
/etc/X11/xinit/xserverrc脚本。
startx脚本的最基本框架是:
a、 寻找.xinitrc,如果没有则使用xinitrc;
b、 寻找.xserverrc,如果没有则使用xserverrc;
c、 根据找到的脚本确定xinit的参数;
由此可看出,startx在不需要传递任何参数的情况下,可以完成启动X的任务,因此, 可
以如下修改/etc/X11/prefdm脚本来实现自动登录:
#!/bin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
. /etc/profile.d/lang.sh
# 第一步:查看是否为自动登录
#if [ -f /etc/sysconfig/autologin -a -x /usr/sbin/autologin ]; then
#注释掉上边的条件测试,直接运行startx
if /usr/X11R6/bin/startx; then
exit 0
fi
#fi
当然,应确保/etc/inittab中的启动级别为5。
重新启动系统,会发现系统不验证用户身份,直接进入X window,此时的用户身份为root。
但是,如果原来root有自己的桌面、默认shell时,上述方法启动X不一定保证还能拥有原来的
设置。为了在启动X后,在避免验证身份的同时,又不改变用户原来的设置,那么在运行startx
之前,还有工作要做。
三、自动登录后,保持用户原来的配置(桌面、shell以及其它的一些环境变量)。
观察原来/etc/X11/prefdm脚本的自动登录部分:
......
# 第一步:查看是否为自动登录
if [ -f /etc/sysconfig/autologin -a -x /usr/sbin/autologin ]; then
if /usr/sbin/autologin; then
exit 0
fi
fi
......
不难看出,脚本中保留了自动登录的接口:一个可执行文件/usr/sbin/autologin 以及一
个配置文件/etc/sysconfig/autologin。
1、/etc/sysconfig/autologin配置文件的实现:
#c onfig for autologin
USER=root
EXEC=/usr/X11R6/bin/startx
说明,USER指定自动登录时的用户名;EXEC指定启动X要运行的程序。
2、/usr/sbin/autologin可执行文件的实现:
/*********************
**** autologin.c ****
*********************/
#i nclude <stdio.h>
#i nclude <unistd.h>
#i nclude <string.h>
#i nclude <errno.h>
#i nclude <sys/types.h>
#i nclude <sys/stat.h>
#i nclude <pwd.h>
int main(int argc, char **argv)
{
struct stat st;
FILE *f;
char *cfg;
struct passwd *pw;
uid_t uid;
gid_t gid;
char *dir, *shell;
char *user=NULL;
char *cmd=NULL;
user="root";
/*为了能说明问题又保持程序简洁,这里默认登录用户为root,实际上,
登陆用户名应该从/etc/sysconfig/autologin中得到,
程序实现时要注意过滤掉/etc/sysconfig/autologin中的无效用户名*/
cmd="/usr/X11R6/bin/startx";
/*同样,这里直接指定启动X window的程序,实际上,该程序应该从/etc/sysconfig/autologin中得到*/
pw = getpwnam(user);
//getpwnam返回包含用户信息的passwd结构(该结构在pwd.h中定义)。
if(pw) {
uid=pw->pw_uid;
gid=pw->pw_gid; dir=strdup(pw->pw_dir);
shell=strdup(pw->pw_shell);
}
//获得用户相关信息
else {
printf("ERROR: No such user %s! ", user);
return 1;
}
chown("/dev/console", uid, gid);
chown("/dev/tty", uid, gid);
//为控制台和终端设置用户ID及组ID
//下面是设置用户相关ID
setregid(gid, gid);
setegid(gid);
setgid(gid);
setreuid(uid, uid);
seteuid(uid);
setuid(uid);
setenv("HOME", dir, 1);
setenv("SHELL", shell, 1);
setenv("USER", user, 1);
setenv("LOGNAME", user, 1);
//设置用户相关环境变量
chdir(dir);
//切换到用户根目录
user=NULL;
execvp(cmd, argv);
/*在配置完用户的相关信息后,执行启动X window操作。注意这里默认执行/usr/X11R6/bin/startx */
printf("ERROR: Couldn't exec %s: %s ", cmd, strerror(errno));
return 2;
}
运行gcc -o autologin autologin.c,拷贝autologin可执行文件到/usr/sbin/autologin,
拷贝autologin配置文件到/etc/sysconfig/autologin。 重新启动系统,会直接进入X window
并保留用户原来所有的风格。
如果不需要自动登录的配置文件/etc/sysconfig/autologin,所有的操作都在
/usr/sbin/autologin以默认的方式实现(比如,默认登录身份为root,默认执行操作为
/usr/X11R6/bin/startx等),那么,/etc/X11/prefdm脚本的自动登录部分可简化如下:
......
# 第一步:查看是否为自动登录
if /usr/sbin/autologin; then
exit 0
fi
//第二步 ......
......
即在脚本中去掉条件测试开关,直接执行/usr/sbin/autologin,这时,只需要拷贝autologin可执行文件到/usr/sbin/autologin,不再需要拷贝autologin配置文件到/etc/sysconfig/autologin。
四、选择进入kde或者gnome,并自动启动X window应用程序
1. 如果重新启动后系统进入了kde,而用户需要进入gnome,只需运行switchdesk gnome在重新启动系统即可,以后每次启动时会自动进入gnome;反之亦然。
2. 一般系统自动登录的目的是启动X window 后自动运行某个X window程序。如果系统默认的启动级别为3,那么如果要在系统启动后自动运行某些应用程序,只需要在某些脚本中加入相应命令即可,不再详述。在X window启动后自动运行应用程序要复杂一些,幸好,kde和gnome都为此留下了自动启动接口。如果在kde桌面环境下自动启动应用程序,只需要把应用程序名字加入/root/.kde/Autostart/目录下即可(这里注意不同用户的根目录可能不同,如用户zyx的根目录可能为/home/zyx)。如果在gnome桌面环境下自动启动应用程序,只需把应用程序的名字加入/主菜单/程序/设置/会话/会话特性及启动程序的startup programs属性页中即可。
发表评论
-
crond需要重启么?
2011-06-11 12:20 1237今天一同事说把A机器的/var/spool/cron/admi ... -
GDB信号的处理和启动配置文件(转载)
2011-05-22 21:57 2208信号的处理 程序是和网络相关的,调试期间经常地收到SIGPIP ... -
信号量基础知识
2011-05-10 18:40 991linux 中信号相关的一个结构体 struct sigact ... -
asprintf
2011-05-08 21:49 2335sprintf() 的整个介面长的样子的是: int ... -
获取用户输入的问题(清除stdin)
2011-05-08 21:37 1915需求: 从终端获取用户输入的用户名和密码(有效 ... -
Linux下的UDP/TCP端口映射(netcat and socat)
2011-05-07 20:42 9670说起来有点土,事到如今 ... -
linux任务管理
2011-05-07 20:32 688disown是bash内部命令,nohup是外部命令 diso ... -
boost multi_index_container
2011-04-27 21:18 1532本章介绍的主题是multi_i ... -
变量相关命令(env,export,set,read, array, declare
2011-04-26 21:38 1007系统的预设参数文件:/ ... -
stl priority_queue
2011-04-26 21:20 605简单的使用示例。 view plaincopy to cli ... -
linux backlog
2011-04-25 15:13 1496在linux中,/proc/sys/net/core/so ... -
linux backlog
2011-04-25 15:13 736在linux中,/proc/sys/net/core/so ... -
stl hash_map
2011-04-23 19:57 752#include <cstdlib> #incl ... -
linux串口登陆
2011-04-23 09:31 1482在这个互连网高速发展的时代, 企业内网络设备的安全和运行稳定也 ... -
linux rename
2011-04-21 09:38 711Linux中rename命令的用法 刚学习linux的时候, ... -
stl heap
2011-04-17 10:01 773make_heap 原型: #include <a ... -
expand and upexpand
2011-04-09 13:33 713expand: NAME expand - co ... -
内核模块相关命令:lsmod,depmod,modprobe
2011-03-28 13:24 1114lsmod 功能:列出内核已载入模块的状态 用法:lsmod ... -
通过先unlink()后close()创建安全的临时文件
2011-03-15 14:26 887使用POSIX(Portable Operating Syst ... -
parted操作磁盘
2011-03-12 16:15 812除了fdisk命令,在linux下还有一个功能也非常强大的磁盘 ...
相关推荐
arm-linux 通过修改启动项,开机直接启动自己开发的程序,而且不会启动系统携带的桌面环境。这个方法可以解决arm开发qt界面程序中花屏引起的程序无法正常显示的问题。
1、Linux快速安装部署桌面系统,通过任何命令行远程连接到原生Linux系统,这时候是命令行界面,把该目录脚本可以通过 scp 或者 复制》粘贴 或者 ftp 等方式上传到服务器。 2、执行 sudo sh desktop.sh ,等待安装...
银河麒麟操作系统V10,服务器和桌面系统自动化巡检脚本
一个用于Linux系统的简单而实用的桌面刻录机
Autolib轻量级windows、Linux桌面应用程序GUI软件自动化操作库,支持python、c# 简单易用。 支持机器视觉定位,可通过图片定位元素并操作 windows版支持自动跳过UAC权限 支持多线程批量执行脚本 支持https请求、...
Manager是基于Python的 wxpython GUI(图形用户界面)开发,具备跨平台的能力,比如在Linux桌面环境,源码无须做任何改动即可直接兼容,平台支持的系统有WindowsXP、windows2000或Windows2003、 Windows7等;支持Linux2.6或...
RobotGo:Golang桌面自动化(机器人),控制鼠标、键盘和屏幕阅读。RobotGo 支持Mac, Windows, 和Linux(X11).
6.3.2.3 改变你的桌面 6.3.2.4 基于X的快捷工具 6.4 为你的Red Hat Linux系统配置声音 6.4.1 模块化的声音驱动器 6.4.1.1 支持的声效卡 6.4.2 声效卡配置工具 6.5 鼠标配置 6.6 万维网 6.6.1 万维网浏览器 ...
6.3.2.3 改变你的桌面 6.3.2.4 基于X的快捷工具 6.4 为你的Red Hat Linux系统配置声音 6.4.1 模块化的声音驱动器 6.4.1.1 支持的声效卡 6.4.2 声效卡配置工具 6.5 鼠标配置 6.6 万维网 6.6.1 万维网浏览器 ...
每日自动更换必应bing桌面壁纸_pybingwp_BingWallpaper 必应每日高清壁纸,自动更换必应桌面壁纸,每天自动下载必应Bing精美图片并更换桌面壁纸小工具,可以设置所在国、后台驻留与定时自动更换。
网钛远程桌面管理助手(简称:网钛远程助手)是一款批量分组管理远程桌面账号密码和远程桌面的工具,同时支持window远程和linux远程,自由切换软件自带或系统自带远程桌面模式,随心选择不同分辨率或全屏模式,实时...
特殊功能:当[A]桌面鼠标移动到屏幕最右下角时 快速自动切换到 [Z] 桌面(您可预先在[Z]桌面开上些工作窗口诸如:Word、Excel、outlook、CAD、3DMAX、OG、FREEHAND、PHOTOSHOP、CORELDRAW)。 特点:完全隐藏窗口...
网钛远程桌面管理助手(简称:网钛远程助手)是一款批量分组管理远程桌面账号密码和远程桌面的工具,同时支持window远程和linux远程,自由切换软件自带或系统自带远程桌面模式,随心选择不同分辨率或全屏模式,实时...
基于Java AWT、SpringBoot、websocket、canvas的跨平台远程桌面实现,目前支持远程桌面控制,剪切板共享、文件传输等。 1、命令行自动登陆/解锁 1.1、Logon,只支持windows 7以前的操作系统。 1.2、Logon Expert,...
6.3.2.3 改变你的桌面 6.3.2.4 基于X的快捷工具 6.4 为你的Red Hat Linux系统配置声音 6.4.1 模块化的声音驱动器 6.4.1.1 支持的声效卡 6.4.2 声效卡配置工具 6.5 鼠标配置 6.6 万维网 6.6.1 万维网浏览器 ...
linux桌面程序安装python3、安装pyautogui依赖得源码包(pip安装慢yum等网络源不好使得情况)
6.3.2.3 改变你的桌面 6.3.2.4 基于X的快捷工具 6.4 为你的Red Hat Linux系统配置声音 6.4.1 模块化的声音驱动器 6.4.1.1 支持的声效卡 6.4.2 声效卡配置工具 6.5 鼠标配置 6.6 万维网 6.6.1 万维网浏览器 ...
PuTTY 是一套免费的 SSH / Telnet 程序,它可以连接上支持 SSH Telnet 联机的站台,并且可自动取得对方的系统指纹码 (Fingerprint)。建立联机以后,所有的通讯内容都是以加密的方式传输,因此你再也不用害怕使用 ...
Unsplash4Win桌面壁纸自动更换器,是一款windows下绿色小巧的桌面壁纸定时更换工具。使用本工具以后再也不用费尽心思的去网上找壁纸了,程序会每隔15分钟自动随机为你更换一张桌面壁纸,而且每一张都是高品质的,每...
Linux 桌面应用 UI 自动化测试 Linux 桌面应用 D-Bus/Gsettings 接口自动化测试命令行自动化测试HTTP 接口自动化测试 Web UI 自动化测试Linux 桌面应用性能自动化测试在项目根目录下有一个 manage.py ,它是一个...