Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
修改了/etc/profile进不了桌面。求助
Experiences and Insight
1035
views ·
3
replies ·
To
floor
Go
judemingzi
deepin
2015-03-07 06:54
Author
如题,我在/etc/profile里面加了一条
/home/**/**/***.py(具体忘了)
命令想要开机系统这个软件,但是现在开不了系统。
进ctrl+alt+f1想要sudo gedit /etc/profile但是显示login incorrect,求助应该怎么恢复。
Reply
Like 0
Favorite
View the author
All Replies
judemingzi
deepin
2015-03-07 07:00
#1
刚完帖子就想到,我在deepin的恢复系统桌面,转到文件夹修改一下就搞定了。
现在进到了自己的系统。
现在想问一下怎么开机自启动.py的可运行程序。
Reply
Like 0
View the author
MattD
deepin
2015-03-07 07:38
#2
放到/etc/rc.local,类似如下:
/usr/bin/python2.7 /home/**/**/***.py
Copy the Code
如果你的python解释器不是2.7版本,就替换为对应的版本。
/etc/profile是供bourne shell和bash初始化时候读取的,不作为开机启动程序的配置文件。
Reply
Like 0
View the author
Feng Yu
deepin
2015-03-07 19:41
#3
有多种方案可以做到开机自启动。
1,如果你的程序想作为系统服务运行,使用service or start/stop/restart等命令管理,建议写/etc/init.d/services_name or /etc/init/service_name.conf这样的服务脚本。这些内容相对高级,一般是系统管理员用的到的功能。如果有需要,建议读init service管理或upstart教程等相关文档。
2,简单粗暴,直接修改/etc/rc.local,在下面加一行你要执行的命令就可以了。但是需要注意两点:
1) 由于这个脚本是单线程顺序执行,千万不要让这个脚本被阻塞。如ping 192.168.1.1这样的命令在Linux下默认不退出,会一直ping,导致这个脚本始终执行不完,卡在这个服务。如果有这一类的需求,请放后台运行,如ping 192.168.1.1 &
2) /etc/rc.local这个文件是root身份在运行,所以需要注意如果你需要用普通用户身份运行程序的话,使用su -c或start-stop-deamon这样的程序切换身份运行。最后ubuntu的rc.local默认可能有一行exit 0,注意不要把你的命令加在这一行下面了,将导致执行到exit 0直接退出脚本,你的脚本不会被执行。
无论上面哪一种方案都是需要root身份才能设定的,并且可以做到一开机后直接运行(通常/etc/rc.local优先级是99,最后一个运行的服务,所以注意你的程序不要作为依赖服务使用/etc/rc.local)。下面一种方案无需root权限,并且是进入桌面环境后才启动的。
3,利用桌面环境自带的自启动方案。这个属于桌面环境自带的功能,几乎每个桌面环境都自带。这个功能类似于windows下那个“启动”子菜单的功能,在桌面环境加载之后自动加载的程序。这个路径在~/.config/autostart/,但是注意里面存放的并不是脚本,而是一些以.desktop结尾的文件。也就是桌面上你看到的那些图标文件。这种启动方式不是作为服务去运行程序的,而是当做一个普通的app,在桌面环境启动之后自动运行而已。所以服务类程序不要通过这种方式去启动。随便抄一个.desktop改一改扔进去就行了,很简单。绝大多数桌面环境还会自带一个简易的图形界面添加与删除这种“开机启动项”,但是dde没有,只能自己手工管理了
Reply
Like 0
View the author
Please
sign
in first
Featured Collection
Change
UOS AI 2.8 Released! Three New Intelligent Agents & Major Evolution
Solid Q&A | deepin 25 Common Questions – The Immutable System Edition
New Thread
Popular Events
More
/home/**/**/***.py(具体忘了)
命令想要开机系统这个软件,但是现在开不了系统。
进ctrl+alt+f1想要sudo gedit /etc/profile但是显示login incorrect,求助应该怎么恢复。