前言
当前有一个需求,就是我使用Ubuntu系统开机自动执行打开火狐的网页,之后实现全屏效果,比如打开我们学校的课表网站,电脑开机后自动执行
编写执行火狐启动脚本
创建自动启动的脚本
首先我们要编写一个脚本,这个脚本会在开机时执行,并打开火狐浏览器,可以使用下面命令来创建脚本
创建一个新的脚本文件(并编辑它:
sudo nano auto_open_tute_lab_schedule_website.sh
#!/bin/bash
# 输出日志到文件
echo "$(date): Script started" >> /home/yunzhi/script_log.txt
firefox url地址 &
保存并退出编辑器(按 Ctrl + X 然后按 Y 确认保存)。
给脚本文件赋予可执行权限:
sudo chmod +x ~/auto_open_tute_lab_schedule_website.sh
测试执行脚本
bash ~/auto_open_tute_lab_schedule_website.sh
执行后这里就能自动打开火狐,并访问指定网站
打开后我们发现这里没有全屏,下面就要处理如何实现全屏的方式,通过查看我们知道F11是火狐的全屏快捷键,这时候我就想要在火狐浏览器打开后,执行F11命令
编写执行火狐全屏脚本
使用xdotool进行实现
安装 xdotool
sudo apt update
sudo apt install xdotool
修正启动脚本
# 等待浏览器启动
sleep 5
# 使用 xdotool 模拟 F11 键来全屏
xdotool search --onlyvisible --class "firefox" windowactivate --sync key F11
再次执行
bash ~/auto_open_tute_lab_schedule_website.sh
很遗憾打开之后还是没有进行全屏,所有放弃了这种方案
使用插件进行实现
下载auto fullscreen插件
插件下载网址
https://addons.mozilla.org/zh-CN/firefox/addon/autofullscreen/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search
测试执行脚本
bash ~/auto_open_tute_lab_schedule_website.sh
执行之后,很幸运效果实现了全屏
Firefox 中使用 --kiosk 实现全屏
--kiosk:启动 Firefox 浏览器并以 kiosk 模式打开。此模式将会把 Firefox 窗口设置为全屏,并移除浏览器的 UI 元素(如地址栏、工具栏、菜单等)。也就是说无法进行退出全屏
修正脚本 auto_open_tute_lab_schedule_website.sh
#!/bin/bash
# 输出日志到文件
echo "$(date): Script started" >> /home/yunzhi/script_log.txt
firefox http://17083.cd.yunzhi.club:81/todaySchedule --kiosk
执行脚本
bash ~/auto_open_tute_lab_schedule_website.sh
执行之后,很幸运效果页实现了全屏。
注意:
- 无法退出全屏:一旦启动了 kiosk 模式,用户无法通过标准的界面元素来退出全屏。要退出,你需要使用 Ctrl + W 关闭浏览器,或者通过命令行终止 Firefox 进程。
- 无 UI 元素:Kiosk 模式下没有地址栏、标签页、菜单等,用户只能看到网页内容。
实现开机自启动
方法一
使用 Startup Applications
在应用程序菜单中搜索 “Startup Applications”(启动应用程序)。
打开后,点击“添加”脚本按钮,选择创建脚本文件~/auto_open_tute_lab_schedule_website.sh
方法二
编辑 ~/.config/autostart 目录
创建或修改 .desktop 启动文件:
编辑 .desktop 文件以执行你的脚本。打开文件:
nano ~/.config/autostart/firefox_website.desktop
[Desktop Entry]
Type=Application
Exec=/home/yunzhi/auto_open_tute_lab_schedule_website.sh
Name=Firefox Website
X-GNOME-Autostart-enabled=true
这2种方式都行,实现的效果都是一样的
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。