【问题标题】:Open google chrome (all users installation) in kiosk mode from terminal从终端以信息亭模式打开谷歌浏览器(所有用户安装)
【发布时间】:2014-10-01 21:03:33
【问题描述】:

我执行此操作是为了在自助服务终端模式下打开谷歌浏览器:

"C:\Users\Javier\AppData\Local\Google\Chrome\Application\chrome.exe" --user-data-dir=$(mktemp -d) --kiosk "url"

但是,如果 google chrome 安装在 Program Files(x86) 中,我需要修改什么?如果我执行:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --user-data-dir=$(mktemp -d) --kiosk "url"

我在 --user-data-dir=$(mktemp -d) 语句中遇到错误。

提前致谢。 哈维尔

【问题讨论】:

    标签: google-chrome kiosk-mode


    【解决方案1】:

    我认为目前可能没有优雅的解决方案。 “mktemp -d”是一个 linux/unix 命令,我在 Windows 上找不到它或等效的命令。它可能曾经有效(我在一个微软开发页面上偶然发现了 mktemp),但在 8.1 上它没有。我得到的错误说它与权限有关,但事实并非如此。

    如果有人可以在 Windows 命令提示符下使用 Cygwin 中的命令,那么上面的方法可能会起作用。另一种选择可能是为 PowerShell 创建具有相同功能的东西并将其插入其中。

    "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:\somedir --kiosk "some.url.here" 确实 工作。它可以通过快捷方式工作,因此它也应该可以通过命令行工作,但是您确实会丢失随机临时目录。

    就我而言,我只是希望一些网站/网络应用程序通过快捷方式默认全屏 (F11),我只需 Alt-F4 关闭,并在它们和桌面之间使用 Alt-Tab。事实上,我想我必须为我想做的每一个单独的数据目录。

    【讨论】:

      【解决方案2】:

      我正在使用命令 chrome.exe --user-data-dir=$(mktemp -d) --kiosk http://someUrl/ 它运行良好一个多星期,直到我开始测试我的程序今天是有限特权用户。我注意到调用 process.start() 方法后 chrome 进程本身没有启动。事件日志中没有条目可以查看出了什么问题。查看您的解决方案后,我更改了我的程序以使用 C# 命令生成一个临时文件夹,并将其作为参数传递并开始工作。谢谢您的帮助。这是我使用的代码的简化版本。

      DirectoryInfo tempDirectory = Directory.CreateDirectory(Path.Combine(Path.GetTempPath(), "Chrome" + DateTime.Now.ToString("ddMMHHmmss")));
      
      Process process = new Process();
      process.StartInfo.FileName = GetBrowserPathFromRegistry();
      process.StartInfo.Arguments = String.Format("--user-data-dir={0} --kiosk {1}", tempDirectory.FullName, this.uri);
      process.Start();
      

      【讨论】:

        猜你喜欢
        • 2013-07-08
        • 2016-04-20
        • 2016-04-23
        • 1970-01-01
        • 2016-12-28
        • 2012-09-10
        • 2017-09-25
        • 2016-04-04
        • 1970-01-01
        相关资源
        最近更新 更多