鉴于今天安装了Team Viewer,突发奇想能否开机自己启动Team Viewer,使得我能够在reboot之后继续远程电脑,晚上熬了个夜终于实现了~~~~
0X0
先是琢磨了一下/etc/rc.local 这个文件。
他是可以控制开机自启动的。
然后写了个脚本
#! /bin/sh
Teamviewer
意思是执行Teamviewer命令,从而启动程序。
然后在rc.local文件上写上脚本
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
./root/jb/auth.sh #命令写在这里,指明shell的路径并以'.'开头达到执行该.Sh文件的目的
exit 0
结果是在系统运行
/bin/sh
/etc/bash.bashrc、
/etc/profile.d、
这三个文件之前就直接运行了脚本,但是我做桌面都没有加载,执行有什么用!!!
上述的三个文件是后来知道的,具体我也说不好,简单的说就是加载登录界面的文件。具体的全局配置在/etc/profiles这个文件里,不再细说。
而且到那时我才意识到一个问题:我特么要登录
0X2
在百度和谷歌的帮助下,我又找到个巧妙的办法,就是修改这三个文件。既然他们都是要被执行的文件,那么就在这些文件里面直接执行Teamviewer命令。
仔细观察了一下/etc/profiles文件:选择了第二个被执行的/etc/bash.bashrc文件,在文件的最末尾加上一句命令。
同时在这个过程中也顺手解决了自动登录的问题。
但是reboot之后,没有任何反应,于是启动了终端·····额·····
Teamviewer命令被执行了,神奇的启动了。好吧·····然并卵!
0X3
接下来,先说说怎么解决自动登录问题。
其实很简单,kali2.0本来就提供了这个功能。
修改/etc/gdm3/daemon.conf这个文件。
[daemon]
Enabling automatic login
AutomaticLoginEnable = true
AutomaticLogin = root
改成这样就可以了=====
[daemon]
Enabling automatic login
AutomaticLoginEnable = true
AutomaticLogin = root
reboot重启然后顺利直接登录系统。
仔细的话,然后你会发现下图。
用户管理界面一片空白···
0X4
回归正题,继续自启动之旅。终于找到了一个可行的办法。
在.config/autostart/文件夹下面建立一个.desktop文件。因为autostart目录不存在,所以需要自己建立一个。他的原理我直接理解成window开始菜单里面的启动文件夹。.desktop文件就是快捷方式。
系统原本的.desktop文件都在/usr/share/applications/下面,随便打开一个观察一下。
root@kali:~# more /usr/share/applications/shadowsocks-qt5.desktop
[Desktop Entry]
Name=Shadowsocks-Qt5
GenericName=Shadowsocks-Qt5
Comment=Shadowsocks GUI client
Exec=ss-qt5
Icon=shadowsocks-qt5
Terminal=false
Type=Application
Categories=Network;
StartupNotify=true
这是我的ss的.desktop文件。那么就很简单了。在.config/autostart/下建个文件叫TeamViewer.desktop就可以了。
[Desktop Entry]
Name=TeamViewer
Exec=./jb/auth.sh
Type=Application
StartupNotify=true
这里要注意EXEC是命令的意思,并且他是在home下执行的,因为是root所以显然路径是/root/这个目录下面,先试验一下得到Exec是./jb/auth.sh,而不是/root/jb/auth.sh这个是无效的。
最后保存然后重启。
成功。