[求助,很急]ubuntu开机自动运行脚本问题
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 3
- 注册时间: 2017-02-09 11:00
- 系统: Ubuntu 16.10
Re: [求助,很急]ubuntu开机自动运行脚本问题
16.10把rc.local服务化了
1、sudo vi /etc/systemd/system/rc-local.service
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
#sysVstart这行可以删掉,我看启动日志中貌似报忽略这个了。。
[Install]
WantedBy=multi-user.target
2、sudo systemctl enable rc-local.service
1、sudo vi /etc/systemd/system/rc-local.service
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
#sysVstart这行可以删掉,我看启动日志中貌似报忽略这个了。。
[Install]
WantedBy=multi-user.target
2、sudo systemctl enable rc-local.service
-
- 论坛版主
- 帖子: 18279
- 注册时间: 2009-08-04 16:33
Re: [求助,很急]ubuntu开机自动运行脚本问题
在rc.local上加命令语句 sh ~/Desktop/newservice.sh,没有用...
1. 請把 newservice.sh 內容 複製貼上來不过经过实验,移动至家目录外且用绝对路径仍然无法完成开机自启,请问还有什么地方可能出错了吗?
2. 請把 在 rc.local 上 加的命令语句 完整貼上來
3. 補充
網路上許多文章 都顯示 debian / ubuntu 的 /etc/rc.local 不一定有效
4. http://www.jb51.net/article/100413.htm
這一篇是建議把 newservice.sh 使用 update-rc.d 指令
佈置到 /etc/rc?.d/ 軟連結 ?=0~6,S
你可以試試
4-1. 這個方法 在 systemd 需要修正 (Ubuntu 14.10 開始 預設 systemd)
-
- 帖子: 18
- 注册时间: 2017-02-09 18:56
- 系统: windows7
Re: [求助,很急]ubuntu开机自动运行脚本问题
我昨晚想到了这个问题,的确我的newservice.sh中需要调用ns,需要nam图形界面启动,所以我昨晚自己尝试着把ns和nam加入了开机启动项里,但没有成功,现在又只能来请教你们了,因为是实验性的newservice,所以代码很简单,如下:vickycq 写了:有可能是这样:rc.local 执行了你的脚本,但由于某些原因看不到执行的效果,导致您认为没有执行。
例如,newservice.sh 的功能需要网络,但 rc.local 执行时网络尚未启动。
或 newservice.sh 的效果是执行图形界面应用程序,但 rc.local 执行时图形界面尚未启动。
可考虑大致描述 newservice.sh 的内容,期望中执行的效果是怎样的?方便的话贴上来看看
另执行以下指令将结果全部复制贴上来代码: 全选
ls -l /etc/rc.local cat /etc/rc.local
rc.local末端增加代码
代码: 全选
/opt/newservice.sh
exit 0
代码: 全选
#!/bin/bash
cd /mnt/hgfs/shared
ns exercise1.txt
exit 0
-
- 帖子: 18
- 注册时间: 2017-02-09 18:56
- 系统: windows7
Re: [求助,很急]ubuntu开机自动运行脚本问题
vickycq 写了:有可能是这样:rc.local 执行了你的脚本,但由于某些原因看不到执行的效果,导致您认为没有执行。
例如,newservice.sh 的功能需要网络,但 rc.local 执行时网络尚未启动。
或 newservice.sh 的效果是执行图形界面应用程序,但 rc.local 执行时图形界面尚未启动。
可考虑大致描述 newservice.sh 的内容,期望中执行的效果是怎样的?方便的话贴上来看看
另执行以下指令将结果全部复制贴上来代码: 全选
ls -l /etc/rc.local cat /etc/rc.local
另外执行的想要的效果就是一个网络传输方面的模拟,如图vickycq 写了:有可能是这样:rc.local 执行了你的脚本,但由于某些原因看不到执行的效果,导致您认为没有执行。
例如,newservice.sh 的功能需要网络,但 rc.local 执行时网络尚未启动。
或 newservice.sh 的效果是执行图形界面应用程序,但 rc.local 执行时图形界面尚未启动。
可考虑大致描述 newservice.sh 的内容,期望中执行的效果是怎样的?方便的话贴上来看看
另执行以下指令将结果全部复制贴上来代码: 全选
ls -l /etc/rc.local cat /etc/rc.local
-
- 帖子: 18
- 注册时间: 2017-02-09 18:56
- 系统: windows7
Re: [求助,很急]ubuntu开机自动运行脚本问题
我昨晚想到了前面大大的问题,应该是开机时还没启动ns和nam应用,的确我的newservice.sh中需要调用ns,需要nam图形界面启动,所以我昨晚自己尝试着把ns和nam加入了开机启动项里,但没有成功,现在又只能来请教你们了,因为是实验性的newservice,所以代码很简单,如下:poloshiao 写了:在rc.local上加命令语句 sh ~/Desktop/newservice.sh,没有用...1. 請把 newservice.sh 內容 複製貼上來不过经过实验,移动至家目录外且用绝对路径仍然无法完成开机自启,请问还有什么地方可能出错了吗?
2. 請把 在 rc.local 上 加的命令语句 完整貼上來
3. 補充
網路上許多文章 都顯示 debian / ubuntu 的 /etc/rc.local 不一定有效
4. http://www.jb51.net/article/100413.htm
這一篇是建議把 newservice.sh 使用 update-rc.d 指令
佈置到 /etc/rc?.d/ 軟連結 ?=0~6,S
你可以試試
4-1. 這個方法 在 systemd 需要修正 (Ubuntu 14.10 開始 預設 systemd)
rc.local末端增加代码
代码: 全选
/opt/newservice.sh
exit 0
代码: 全选
#!/bin/bash
cd /mnt/hgfs/shared
ns exercise1.txt
exit 0
附带newservice想要实现的网络仿真图片:
-
- 论坛版主
- 帖子: 18279
- 注册时间: 2009-08-04 16:33
Re: [求助,很急]ubuntu开机自动运行脚本问题
1. 開機程序 進行到讀取 /etc/rc.local 時 尚未啟動 X Windows 所以 無法跑任何圖形程式的确我的newservice.sh中需要调用ns,需要nam图形界面启动
1-1. 意思是 /etc/rc.local 裡面 含有任何啟動圖形程式的指令 可能無法執行 ?
2. sudo ls -Al /bin | grep sh
lrwxrwxrwx 1 root root 4 2月 18 2016 sh -> dash
2-1. 意思是 在 Ubuntu 執行 sh 實際上預設是執行 dash
newservice.sh
代碼:
#!/bin/bash
cd /mnt/hgfs/shared
ns exercise1.txt
exit 0
2-2. 開機程序 進行到讀取 /etc/rc.local 時 sh 是調用 dash在rc.local上加命令语句 sh ~/Desktop/newservice.sh,没有用...
輸入密碼並成功登入桌面進程後 啟動的 shell 預設是 /bin/bash
2-3. 這裡 實際作用的 到底是 dash 還是 bash ?
請確認
3. 試試 改為 絕對路徑sh ~/Desktop/newservice.sh
/bin/sh /absolute-path/newservice.sh
或
/bin/dash /absolute-path/newservice.sh
或
/bin/bash /absolute-path/newservice.sh
看看 何者有效
- vickycq
- 帖子: 4507
- 注册时间: 2011-03-20 13:12
- 系统: Debian
- 来自: 山东省寿光县
- 联系:
Re: [求助,很急]ubuntu开机自动运行脚本问题
加入何处的“开机启动项里”ruby_yu 写了:所以我昨晚自己尝试着把ns和nam加入了开机启动项里,但没有成功
从图中看,ns 会自动启动 namruby_yu 写了:我觉得问题就在这,能有办法开机自动先启动ns仿真和nam图形界面吗
先尝试加入桌面环境的自启中,如下图所示

若无效,再发帖说明,讨论使用其他办法
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
欢迎所有 Debian GNU/Linux 用户
-
- 帖子: 18
- 注册时间: 2017-02-09 18:56
- 系统: windows7
Re: [求助,很急]ubuntu开机自动运行脚本问题
昨晚已尝试,依旧不行..vickycq 写了:加入何处的“开机启动项里”ruby_yu 写了:所以我昨晚自己尝试着把ns和nam加入了开机启动项里,但没有成功
从图中看,ns 会自动启动 namruby_yu 写了:我觉得问题就在这,能有办法开机自动先启动ns仿真和nam图形界面吗
先尝试加入桌面环境的自启中,如下图所示
若无效,再发帖说明,讨论使用其他办法
-
- 帖子: 18
- 注册时间: 2017-02-09 18:56
- 系统: windows7
Re: [求助,很急]ubuntu开机自动运行脚本问题
明白了,由于要求是在windows下做一仿真演示软件的开发,需要windows系统下调用ubuntu系统下的ns仿真输出,请问有什么方法能在windows系统下后台运行vmware虚拟机的情况下控制ubuntu输入控制台命令呢?poloshiao 写了:開機程序 進行到讀取 /etc/rc.local 時 尚未啟動 X Windows 所以 無法跑任何圖形程式的确我的newservice.sh中需要调用ns,需要nam图形界面启动
意思是 /etc/rc.local 裡面 不能含有任何啟動圖形程式的指令
-
- 帖子: 18
- 注册时间: 2017-02-09 18:56
- 系统: windows7
Re: [求助,很急]ubuntu开机自动运行脚本问题
大大您好,其实本意是在windows下做一仿真演示软件的开发,需要windows系统下自制仿真演示软件GUI调用ubuntu系统下的ns仿真输出,请问有什么方法能在windows系统下后台运行vmware虚拟机的情况下控制ubuntu输入控制台命令呢?vickycq 写了:加入何处的“开机启动项里”ruby_yu 写了:所以我昨晚自己尝试着把ns和nam加入了开机启动项里,但没有成功
从图中看,ns 会自动启动 namruby_yu 写了:我觉得问题就在这,能有办法开机自动先启动ns仿真和nam图形界面吗
先尝试加入桌面环境的自启中,如下图所示
若无效,再发帖说明,讨论使用其他办法
-
- 论坛版主
- 帖子: 18279
- 注册时间: 2009-08-04 16:33
Re: [求助,很急]ubuntu开机自动运行脚本问题
1. 如果你希望啟用圖形程式 寫一個 mydesighname.desktop 的啟動程式檔案需要windows系统下调用ubuntu系统下的ns仿真输出
放在
~/.config/autostart
或
/etc/xdg/autostart
1-1. 這樣就能夠啟用圖形程式
1-2. 詳細參閱
1-2-1. http://askubuntu.com/questions/63407/wh ... nds-stored
1-2-2. http://stackoverflow.com/questions/8247 ... 52#8290652
1-2-3. https://help.ubuntu.com/community/Unity ... sktopFiles
1-2-4. https://specifications.freedesktop.org/ ... index.html
2. 以上適用於 Ubuntu 14.04 或 14.10 以後版本 upstart (不是 systemd)
2-1. Ubuntu 14.10 及 以後版本 開機預設 systemd
如果採用 systemd 以上可能不適用或需要微調
最好是採用 systemd 的 service 方法
-
- 帖子: 18
- 注册时间: 2017-02-09 18:56
- 系统: windows7
Re: [求助,很急]ubuntu开机自动运行脚本问题
谢谢资料,desktop编写完成,但遇到一个问题,自编ns2.desktop代码如下:poloshiao 写了:1. 如果你希望啟用圖形程式 寫一個 mydesighname.desktop 的啟動程式檔案需要windows系统下调用ubuntu系统下的ns仿真输出
放在
~/.config/autostart
或
/etc/xdg/autostart
1-1. 這樣就能夠啟用圖形程式
1-2. 詳細參閱
1-2-1. http://askubuntu.com/questions/63407/wh ... nds-stored
1-2-2. http://stackoverflow.com/questions/8247 ... 52#8290652
1-2-3. https://help.ubuntu.com/community/Unity ... sktopFiles
1-2-4. https://specifications.freedesktop.org/ ... index.html
2. 以上適用於 Ubuntu 14.04 或 14.10 以後版本 upstart (不是 systemd)
2-1. Ubuntu 14.10 及 以後版本 開機預設 systemd
如果採用 systemd 以上可能不適用或需要微調
最好是採用 systemd 的 service 方法
代码: 全选
[Desktop Entry]
Version=1.0
Name=NS2
Comment=Simulation
Exec=/home/ruby/Documents/newst.sh
Icon=/home/ruby/Pictures/foot.jpg
Terminal=false
Type=Application
Categories=Application;
是不是new.sh脚本的原因?
代码: 全选
#!/bin/sh
cd /mnt/hgfs/shared
ns exercise1.txt
- vickycq
- 帖子: 4507
- 注册时间: 2011-03-20 13:12
- 系统: Debian
- 来自: 山东省寿光县
- 联系:
Re: [求助,很急]ubuntu开机自动运行脚本问题
如果是这样,可能还有别的原因。如楼上提到的原因,或其它环境问题。ruby_yu 写了:昨晚已尝试,依旧不行
如果不想再花时间琢磨,只想实现开机进入桌面后自动运行 /opt/newservice.sh,可考虑采用“笨”办法
假设你的用户名为 ruby_yu
1. 执行 sudo apt-get install expect
2. 在 23 楼图中所示位置添加以下指令作为启动项
代码: 全选
gnome-terminal -e /home/ruby_yu/ns_autorun
代码: 全选
#!/usr/bin/expect -f
spawn bash
send "/opt/newservice.sh\r"
interact
exit
这样效果跟手动打开终端执行命令差不多
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
欢迎所有 Debian GNU/Linux 用户
-
- 帖子: 18
- 注册时间: 2017-02-09 18:56
- 系统: windows7
Re: [求助,很急]ubuntu开机自动运行脚本问题
23楼图中?23楼不是startup application吗?在哪里添加指令作为启动项呢?能否详细说一下vickycq 写了:如果是这样,可能还有别的原因。如楼上提到的原因,或其它环境问题。ruby_yu 写了:昨晚已尝试,依旧不行
如果不想再花时间琢磨,只想实现开机进入桌面后自动运行 /opt/newservice.sh,可考虑采用“笨”办法
假设你的用户名为 ruby_yu
1. 执行 sudo apt-get install expect
2. 在 23 楼图中所示位置添加以下指令作为启动项3. 建立文件 /home/ruby_yu/ns_autorun 加入以下内容代码: 全选
gnome-terminal -e /home/ruby_yu/ns_autorun
4. 执行 chmod +x /home/ruby_yu/ns_autorun代码: 全选
#!/usr/bin/expect -f spawn bash send "/opt/newservice.sh\r" interact exit
这样效果跟手动打开终端执行命令差不多
- vickycq
- 帖子: 4507
- 注册时间: 2011-03-20 13:12
- 系统: Debian
- 来自: 山东省寿光县
- 联系:
Re: [求助,很急]ubuntu开机自动运行脚本问题
1. 点击 Addruby_yu 写了:23楼图中?23楼不是startup application吗?在哪里添加指令作为启动项呢?能否详细说一下
2. 在 'Command' 一栏输入命令(gnome-terminal -e /home/ruby_yu/ns_autorun),"Name","Comment" 随意
3. 点击 Add
如图:

Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
欢迎所有 Debian GNU/Linux 用户