Linux上のFirefoxでCtrl + Qショートカットを無効にする方法


56

Firefoxの57以来無効にする方法はありませんCtrl+のQLinux上でプラグインによってショートカットが(参照このバグを)。私が発見したすべての回避策は、グローバルCtrl+ QショートカットをFirefoxから「盗む」ように設定することに基づいています。しかし、これにより、すべてのアプリケーションでこのショートカットが無効になります。他のアプリに影響を与えることなく、Firefoxでのみこのショートカットを無効にします。

1つのアプリケーションのみを無効にする、またはショートカットをキャッチする方法はありますか?UnityでUbuntuを使用しています。


興味深い質問ですが、答えはユースケースによって異なります。偶発的なキーの押下?キオスクモード?
-l0b0

4
@ l0b0偶発的なキーの押下。これは通常のPCであり、特別なものではありません。
rob006

その場合、詳細はありますか?システムがDo What You Want™に設定できる方法があるかどうかを確認しています。たとえば、終了時にタブを保存するなど、脆弱なハックと思われるものを避けるためです。
-l0b0

6
@ l0b0誤ってキーを押してブラウザが閉じるのを防ぎたい。ブラウザを閉じた後に変更が多すぎる(セッションを閉じ、接続を終了する)ため、ブラウザの影響を修正するよりもブラウザを閉じないようにしたいと思います。
rob006

回答:


46

about:config設定を行います。

Firefox> = 65

browser.sessionstore.warnOnQuit true
browser.warnOnQuit true

ここに画像の説明を入力してください

ソース

古いFirefox

browser.showQuitWarning true
browser.warnOnQuit true

すべてのバージョンでテストしたところ、64ビットLinux(およびWin10の60esrチャネル)で61.0.2-64.0.2に遭遇しました。 スクリーンショット


2
その下票で建設的なフィードバックはありますか?
CrazyPyro

4
そして今、FF 63.0.3(64ビットUbuntu)の時点で、ctrl-Qは、両方のオプションが有効になっているにもかかわらず、すぐに終了します。彼らがこの単純な(誤)機能で何を台無しにしたかは驚くべきことです。ああ、多分それはv64で再び機能するでしょう...-
ポン

3
browser.showQuitWarningLinuxでon ff量子64.0 64ビットが表示されません。browser.warnOnQuit有効になっていますが、何もしませんか?
bool3max

4
これは、Manjaro LinuxのFirefox 66.0.5では機能しません。browser.tabs.warnOnClose;true今対処する必要があります。関連:bugzilla.mozilla.org/show_bug.cgi
id

2
選択した回答で問題が解決されなくなりました。
ポール

15

tl / dr:Ctrl-Qにグローバルショートカットを割り当てます

Firefox Quantumでは、誤ってCtrl-Qキーを押してFirefoxが閉じられたことを警告するabout:config設定が機能しなくなりました。

回避策: Arch Linuxで| XFCEデスクトップ環境(他のLinuxディストリビューションやデスクトップでも同様のアプローチが可能です):

  • ウィスカメニュー>>すべての設定>>キーボード>>アプリケーションショートカット>>追加

  • 新しい「アプリケーション」を追加しnullます。Ctrl-Qキープレスに割り当てます

    • 更新(@justderbによるコメント):「エラーウィンドウをポップアップ表示したくない場合は、「null」の代わりに「true」を使用すると便利です。」

Firefox-Ctrl-Qを「無効にする」

呼び出し:ここではCtrl-Q、Firefox Quantum v。60.0.1(64ビット)を押しました。Firefoxを終了する代わりに、このポップアップが表示されます。

Firefox-Ctrl-Q「無効」

警告:もちろん、これはすべてのCtrl-Qキー押下にグローバルに影響します。しかし、私自身の好みでは、この欠点は、偶発的なFirefox Ctrl-Qクロージャーを無効にすることで相殺されます(その後、Webサイトに再ログインする必要があります:GitHub; reddit; ...)。

更新

Firefoxを終了しようとすると、@ crazypyroの答えも機能します(x86_64 LinuxのFF Quantum 63.0)。私の解決策はより一般的な回避策として、それはおそらく特定の答えとみなされるべきです。

about:config(以下の両方がに設定されていますtrue):

  • browser.showQuitWarning
  • browser.warnOnQuit

7
エラーウィンドウをポップアップ表示したくない場合は、true代わりにを使用するnullと便利です。
justderb

@justderb:いいね!:-D
ビクトリアスチュアート

1
私にとってarchlinux / kde 5プラズマでは、最初にアプリケーションを選択せず​​にグローバルショートカットを行うことはできませんでした。とりあえずありがとう!
JTC

sxhkdでCTRL + qをマッピングすると、ショートカットがハイジャックされ、Firefoxを終了できなくなります。
サイモンセダーグレンマルムクヴィスト

ミント19にワークス
ポール

7

Firefox QuantumのuserChrome.jsでCtrl + qを無効にします

これは、FirefoxプロファイルのごくわずかなJavaScriptによって、外部アプリケーションなしで実現できます。

前提条件として、userChrome.jsを有効にする必要があります(以下を参照するか、元のGitHubリポジトリから取得します

chromeディレクトリとそのコンテンツをユーザープロファイルにコピーした後<profile-dir>/chrome/disable_ctrl_q.uc.js、次のコンテンツを含むファイルを作成します。

var kqa = document.getElementById('key_quitApplication');
if (kqa) kqa.remove();

最後に、Firefoxを再起動すると、ctrl + qによりアプリケーションが終了しなくなります。


Firefox QuantumでuserChrome.jsを有効にする

完全を期すために、変更されたchromeファイルの完全なコンテンツを以下に示します。userChrome JavaScriptを有効にするにchromeは、Firefoxプロファイル内のディレクトリ内にこれらの2つのファイルを作成します。

  1. about:supportアドレスバーに入力します。
  2. 下では、アプリケーションの基本>プロファイルディレクトリはクリックOpen Directoryの Firefoxのプロファイルディレクトリを開くためのボタンを。
  3. プロファイルディレクトリ内で、という新しいディレクトリを作成します chrome
  4. chromeディレクトリ内で、新しいファイルuserChrome.cssを作成userChrome.xmlし、その内容を以下にリストします。
  5. Firefoxを再起動します(これらの手順に従ってctrl + qを無効にする場合は、おそらく上記の.uc.jsファイルも作成する必要があります)

userChrome.css

/* Copyright (c) 2017 Haggai Nuchi
Available for use under the MIT License:
https://opensource.org/licenses/MIT
*/
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
toolbarbutton#alltabs-button {
    -moz-binding: url("userChrome.xml#js");
}

userChrome.xml

<?xml version="1.0"?>
<!-- Copyright (c) 2017 Haggai Nuchi
Available for use under the MIT License:
https://opensource.org/licenses/MIT
 -->

<bindings id="generalBindings"
   xmlns="http://www.mozilla.org/xbl"
   xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
   xmlns:xbl="http://www.mozilla.org/xbl">

  <binding id="js" extends="chrome://global/content/bindings/toolbarbutton.xml#menu">
    <implementation>
        <constructor><![CDATA[
            function makeRelativePathURI(name) {
              let absolutePath = Components.stack.filename;
              return absolutePath.substring(0, absolutePath.lastIndexOf("/") + 1) + name;
            }
            // The following code executes in the browser context,
            // i.e. chrome://browser/content/browser.xul
            Services.scriptloader.loadSubScript(makeRelativePathURI("userChrome.js"), window);
        ]]></constructor>
    </implementation>
  </binding>
</bindings>

1
これはFirefox 62では機能しません
悲しみ

1
最新の安定版であるFirefox 61で動作します。62がベータ版を出る前に修正されることを願っています。
thinkmassive


69.0.2では動作しません(ベータ版ではありません)。また、document.getElementById('key_quitApplication')nullを返します。この要素の名前は変更されましたか?
tsbertalan

6

見苦しいが、簡単で効果的な回避策は、アクティブなonbeforeunloadハンドラーがあるページを常に開いたままにすることです。つまり、「このページは、あなたが去ることを確認するよう求めています。入力したデータは保存されません。」閉じようとするとダイアログが表示されます。

そうすれば、誤ってCTRL + Qを試みた場合、そのダイアログが表示され、「このページにとどまる」を選択して終了をキャンセルできます。

編集:この目的のために作成したカスタムページ


素敵なハッカー精神がそこに!
ダニエルヒッツェル

ありがとう!私の実装へのリンクを追加しました。
Jan Schejbal

これをありがとう。私の作品、と私は(それを愛するcheezy:。FFはこの単純なことを台無しにしていることを私にそれの驚異は
JWD

4

AutoKeyで必要なものを取得できました。インストール後、「ホットキー」および「ウィンドウフィルター」としてCtrl+ を割り当てた空のスクリプトを作成しました。Q.*Firefox

ここに画像の説明を入力してください

次に、AutoKeyの設定で自動起動に追加し、通知アイコンを無効にしました。そのため、透明になりました。

ここに画像の説明を入力してください

私はそれを数時間使用しましたが、有望に見えます-これまでのところ、誤検出や見逃しはありません。現在、FirefoxではCtrl+ Qは機能しませんが、たとえばPhpStormでは完全に機能します。


さらに、バグ1215061は、これが将来より簡単になり、Firefoxがやっと適切なキーボードショートカット設定を取得できることを期待しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.