禁用/更改Firefox的安全模式热键(SHIFT)(Disable/Change Firefox

2019-06-23 12:53发布

有没有什么办法来改变Firefox的转变热键,使得在安全模式下启动的Firefox? 我已经设置了使用Selenium和PHPUnit的一些单元测试,但如果我的机器上工作时的测试运行,那么我经常发现我按shift为I型(控股转变,因为我选择块的代码是另一大罪犯)。 这会导致测试失败(和超时),即使你单击过去弹出的安全模式提示。

有没有一种方法来禁用该热键,或更改关键的东西,我经常使用的少?

Answer 1:

我也遇到了这个问题,并没有找到一个解决方案。 看来,它仍然是一个悬而未决的问题: Mozilla的论坛主题 , 臭虫653410 , 臭虫644175等。 作为一种变通方法,你可以安装Firefox 3.6,因为这功能是因为火狐4中实现,但可能这不会适合你。



Answer 2:

Mozilla的最后增加了一个环境变量来控制此行为。 不幸的是,适用于整个图形化系统,而不是仅仅一个bash会话的方式,配置此环境变量是有点困难。 过去,这是通过/etc/launchd.conf完成,但在的MacOS下降v10.10这种支持。 幸运的是,systemctl提供的.plist文件系统,它可以定义运行程序,并在启动时确定全系统的环境变量,所以我公布这方面的工作的.plist文件,以安装和删除它的说明:

https://github.com/mcandre/dotfiles/blob/master/setenv.MOZ_DISABLE_SAFE_MODE_KEY.plist

这是真棒对我来说,因为我喜欢在任何地方启动网页浏览器中通过的QuickSilver按下Ctrl + Alt + G,其中当然也包括Alt修饰符火狐倾向于解释为信令安全模式的GUI。



Answer 3:

直到错误653410是固定的,我能想出的最好的解决方法是,当启动安全模式来检测和最佳的方式适合您的特殊用途处理。 这可能意味着杀死Firefox进程,并再次启动,也可能意味着警告用户,或两者兼而有之。

当Firefox启动进入安全模式,在其配置文件目录中写入“LastVersion =安全模式”,以它的compatibility.ini文件。 一个例子C#功能来监视这个如下。

    FileSystemWatcher safeModeWatcher;

    private void watchSafeMode()
    {
        string profiles = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Mozilla", "Firefox", "Profiles");
        string defaultProfile = Directory.GetDirectories(profiles, "*default*")[0];
        safeModeWatcher = new FileSystemWatcher(defaultProfile, "compatibility.ini");
        safeModeWatcher.NotifyFilter = NotifyFilters.LastWrite;
        safeModeWatcher.Changed += delegate(object s, FileSystemEventArgs e)
        {
            if (File.ReadAllText(e.FullPath).Contains("LastVersion=Safe Mode"))
            {
                // safe mode!
                System.Diagnostics.Trace.WriteLine("safe mode detected!");
                // TODO kill Firefox and launch again, or whatever makes sense for you
            }
        };
        safeModeWatcher.EnableRaisingEvents = true;
        // ...
        // TODO Dispose safeModeWatcher when done
    }


文章来源: Disable/Change Firefox Safe Mode Hotkey (Shift)