You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.5 KiB
49 lines
1.5 KiB
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"path/filepath"
|
|
)
|
|
|
|
func install() {
|
|
kioskInfof("checking firefox usability")
|
|
// 1. 检查并修复 Firefox
|
|
if !isFirefoxUsable() {
|
|
kioskWarnf("firefox unusable; starting install/repair")
|
|
fmt.Println("Firefox missing or unusable, installing/repairing...")
|
|
if err := installFirefox(); err != nil {
|
|
kioskErrorf("firefox install/repair failed err=%v", err)
|
|
fmt.Printf("install/repair Firefox failed: %v\n", err)
|
|
os.Exit(1)
|
|
}
|
|
kioskInfof("firefox install/repair success")
|
|
fmt.Println("Firefox install/repair success")
|
|
} else {
|
|
kioskInfof("firefox is usable")
|
|
fmt.Println("Firefox is installed and usable")
|
|
}
|
|
|
|
// 2. 设置当前应用开机自启动
|
|
appPath, err := os.Executable()
|
|
if err != nil {
|
|
kioskErrorf("read executable path failed err=%v", err)
|
|
fmt.Printf("读取应用路径失败: %v\n", err)
|
|
os.Exit(1)
|
|
}
|
|
|
|
kioskInfof("current executable path=%s workdir=%s", appPath, filepath.Dir(appPath))
|
|
if !isAutoStartEnabled(appPath) {
|
|
kioskWarnf("autostart service missing or mismatched; reinstalling service=%s", autoStartServiceFile(appPath))
|
|
fmt.Println("正在设置开机自启动...")
|
|
if err := enableAutoStart(appPath); err != nil {
|
|
kioskErrorf("autostart setup failed service=%s err=%v", autoStartServiceFile(appPath), err)
|
|
fmt.Printf("设置开机自启动失败: %v\n", err)
|
|
os.Exit(1)
|
|
}
|
|
fmt.Println("开机自启动设置成功")
|
|
} else {
|
|
fmt.Println("已设置开机自启动")
|
|
}
|
|
}
|