Nodejs 关于node-webkit开机启动的问题
Nodejs 关于node-webkit开机启动的问题
有一个项目想用node-webkit做嵌入式软件的开发,但是怎么在进入xwindows之前全屏启动node-webkit,不知道有没有有经验的同学,指点一二。
Nodejs 关于node-webkit开机启动的问题
在使用 node-webkit 开发嵌入式软件时,你可能会遇到需要在系统启动后自动全屏启动 node-webkit 的需求。以下是一个简要的指南,帮助你在 Linux 系统上实现这一目标。
1. 创建一个启动脚本
首先,你需要创建一个简单的启动脚本,该脚本将在系统启动时运行。假设你的 node-webkit 应用程序位于 /home/user/myapp
目录下,并且主 HTML 文件为 index.html
。
创建一个启动脚本文件,例如 start_myapp.sh
:
#!/bin/bash
cd /home/user/myapp
./nw .
确保该脚本具有可执行权限:
chmod +x start_myapp.sh
2. 将启动脚本添加到启动项
接下来,你需要将这个启动脚本添加到系统的启动项中。你可以通过修改 .bash_profile
或者使用 systemd
来实现这一点。
方法一:修改 .bash_profile
编辑用户主目录下的 .bash_profile
文件(如果不存在则创建),并添加以下行:
@reboot /home/user/start_myapp.sh
方法二:使用 systemd
创建一个新的 systemd 服务文件,例如 /etc/systemd/system/myapp.service
:
[Unit]
Description=My Node-WebKit Application
[Service]
ExecStart=/home/user/start_myapp.sh
Restart=always
User=user
Environment=DISPLAY=:0
[Install]
WantedBy=multi-user.target
启用并启动该服务:
sudo systemctl enable myapp.service
sudo systemctl start myapp.service
3. 设置全屏模式
为了使 node-webkit 在启动时全屏显示,可以在 index.html
中添加一些 JavaScript 代码来实现这一点:
<!DOCTYPE html>
<html>
<head>
<title>My App</title>
<script>
window.onload = function() {
nw.Window.get().maximize();
}
</script>
</head>
<body>
<!-- Your content here -->
</body>
</html>
这段代码会在页面加载完成后将窗口最大化,从而达到全屏的效果。
总结
通过上述步骤,你可以实现在系统启动时自动全屏启动 node-webkit 应用程序。首先创建一个启动脚本,并将其添加到系统的启动项中;然后设置全屏模式。希望这些信息对你有所帮助!
我帮你找到一篇教程
要在Linux系统上实现开机后自动以全屏模式启动node-webkit(现称为NW.js),可以通过创建一个桌面启动器或使用系统的启动脚本来实现。以下是两种方法的详细步骤:
方法一:使用桌面启动器
-
创建一个启动脚本: 创建一个shell脚本,例如
start_nw.sh
,内容如下:#!/bin/bash nw /path/to/your/app & sleep 2 xdotool search --onlyvisible --class "nw" windowactivate --sync key F11
这个脚本首先启动你的NW.js应用,然后等待2秒(确保窗口已经加载),最后发送F11键模拟全屏切换。
-
为脚本添加执行权限:
chmod +x start_nw.sh
-
创建桌面启动器: 创建一个
.desktop
文件,例如start_nw.desktop
,并放置在~/.config/autostart/
目录下。[Desktop Entry] Type=Application Exec=/path/to/start_nw.sh Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true Name=start_nw Comment=start node-webkit in full screen
方法二:使用Systemd服务
-
创建一个Systemd服务文件: 创建一个名为
start_nw.service
的文件,内容如下:[Unit] Description=Start Node Webkit in Full Screen After=graphical.target [Service] User=<your-user-name> ExecStart=/path/to/start_nw.sh Restart=always [Install] WantedBy=default.target
-
将服务文件放置在正确的目录: 将该文件复制到
/etc/systemd/system/
目录下。 -
启用并启动服务:
sudo systemctl enable start_nw.service sudo systemctl start start_nw.service
这两种方法都可以实现开机自动启动并全屏显示你的NW.js应用。选择适合你环境的方法进行设置即可。