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

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("已设置开机自启动")
}
}