Cách tắt phím tắt Ctrl + Q trong Firefox trên Linux


56

Vì Firefox 57 không có cách nào để tắt Ctrl+ Qphím tắt bằng plugin trên Linux (xem lỗi này ). Tất cả các cách giải quyết mà tôi đã tìm thấy đều dựa trên việc đặt phím tắt toàn cầu Ctrl+ Qđể "đánh cắp" nó khỏi Firefox. Nhưng điều này sẽ vô hiệu hóa lối tắt này trong mọi ứng dụng và tôi muốn chỉ tắt lối tắt này trong Firefox mà không ảnh hưởng đến bất kỳ ứng dụng nào khác.

Có cách nào để vô hiệu hóa hoặc bắt phím tắt chỉ cho một ứng dụng không? Tôi đang sử dụng Ubuntu với Unity.


Câu hỏi thú vị, nhưng câu trả lời có thể phụ thuộc vào trường hợp sử dụng. Bấm phím tình cờ? Chế độ kiosk?
l0b0

4
@ l0b0 Bấm phím ngẫu nhiên. Đây là PC thông thường, không có gì lạ mắt.
rob006

Trong trường hợp đó, bạn có thêm chi tiết? Tôi chỉ kiểm tra xem có cách nào để hệ thống có thể được thiết lập thành Do What You Want ™, chẳng hạn như lưu các tab khi bạn thoát, để tránh điều gì đó mà tôi nghi ngờ sẽ là một vụ hack dễ vỡ.
l0b0

6
@ l0b0 Tôi muốn ngăn đóng trình duyệt bằng cách bấm phím ngẫu nhiên. Có quá nhiều thứ đang thay đổi sau khi đóng trình duyệt (đóng phiên, chấm dứt kết nối), tôi thích ngăn chặn đóng trình duyệt hơn là sửa các hiệu ứng của nó.
rob006

Câu trả lời:


46

Trong about:configthiết lập ưu tiên.

Firefox> = 65

browser.sessionstore.warnOnQuit true
browser.warnOnQuit true

nhập mô tả hình ảnh ở đây

Nguồn

Firefox cũ hơn

browser.showQuitWarning true
browser.warnOnQuit true

Đã thử nghiệm trong tất cả các phiên bản Tôi đã bắt gặp 61.0.2-64.0.2 trên Linux 64 bit (và kênh 60esr trên Win10). ảnh chụp màn hình


2
Bất kỳ phản hồi mang tính xây dựng với downvote đó?
CrazyPyro

4
Và bây giờ, kể từ FF 63.0.3 (Ubuntu 64-bit), ctrl-Q một lần nữa thoát ra ngay lập tức đối với tôi, mặc dù cả hai tùy chọn này đều được bật. Thật đáng ngạc nhiên khi một mớ hỗn độn mà họ đã tạo ra từ tính năng (mis-) đơn giản này. À, có lẽ nó sẽ hoạt động trở lại vào năm 64 ...
Pont

3
Tôi không thấy browser.showQuitWarningff quantum 64.0 64bit trên linux. browser.warnOnQuitđược kích hoạt nhưng không có gì?
bool3max

4
Điều này không hoạt động với tôi trong Firefox 66.0.5 trong Manjaro Linux. Sẽ phải đối phó với browser.tabs.warnOnClose;truebây giờ. Liên quan: bugzilla.mozilla.org/show_orms.cgi?id=502908#c73
aguadopd

2
Câu trả lời được chọn không còn giải quyết vấn đề.
Paul

15

tl / dr: gán phím tắt chung cho Ctrl-Q

Trong Firefox Quantum, các about:configcài đặt được sử dụng để cảnh báo về việc đóng cửa Firefox thông qua một phím nhấn Ctrl-Q tình cờ không còn hoạt động.

Giải pháp thay thế: trên Arch Linux | Môi trường máy tính để bàn XFCE (các bản phân phối Linux khác và / hoặc máy tính để bàn có thể cho phép một cách tiếp cận tương tự):

  • Menu râu ria >> Tất cả cài đặt >> Bàn phím >> Phím tắt ứng dụng >> Thêm

  • Thêm một "ứng dụng" mới , null; gán nó cho Ctrl-Qphím bấm

    • Cập nhật (nhận xét của @justderb): "Sử dụng 'true' thay vì 'null' là tốt nếu bạn không muốn cửa sổ lỗi bật lên."

Firefox - 'vô hiệu hóa' Ctrl-Q

Yêu cầu: ở đây, tôi đã nhấn Ctrl-Qtrong Firefox Quantum v. 60.0.1 (64-bit); thay vì thoát Firefox, tôi nhận được cửa sổ bật lên này,

Firefox - Ctrl-Q 'bị vô hiệu hóa'

Hãy cẩn thận: điều này, tất nhiên, ảnh hưởng toàn cầu đến tất cả các phím nhấn Ctrl-Q. Tuy nhiên, - theo sở thích của riêng tôi - sự thiếu sót đó còn lớn hơn bằng cách vô hiệu hóa các lần đóng Ctrl-Q vô tình của Firefox (sau đó tôi phải đăng nhập lại vào các trang web: GitHub; reddit; ...).

Cập nhật

Câu trả lời của @crazypyro cũng hoạt động với tôi (FF Quantum 63.0 trên x86_64 Linux) đưa ra cảnh báo bật lên nếu bạn cố gắng thoát Firefox. Đó có lẽ nên được coi là câu trả lời cụ thể, với giải pháp của tôi là một cách giải quyết tổng quát hơn.

about:config(cả hai bộ sau đây được đặt thành true):

  • browser.showQuitWarning
  • browser.warnOnQuit

7
Sử dụng truethay vì nulllà tốt nếu bạn không muốn cửa sổ lỗi bật lên.
justderb

@justderb: tốt đẹp! :-D
Victoria Stuart

1
Đối với tôi trong archlinux / kde 5 plasma, tôi không thể thực hiện phím tắt toàn cầu mà không chọn ứng dụng trước - không thể là sự thật dù sao cũng cảm ơn!
JTC

Ánh xạ CTRL + q trong sxhkd cũng chiếm quyền điều khiển phím tắt, ngăn Firefox thoát.
Simon Cedergren Malmqvist

Hoạt động trong Mint 19.
Paul

7

Vô hiệu hóa Ctrl + q với userChrom.js trong Firefox Quantum

Điều này có thể được thực hiện mà không cần một ứng dụng bên ngoài bằng một chút javascript trong hồ sơ Firefox của bạn.

Là điều kiện tiên quyết, bạn phải kích hoạt userChrom.js (xem bên dưới hoặc lấy từ repo GitHub ban đầu )

Sau khi sao chép thư mục chrome và nội dung của nó vào hồ sơ người dùng của bạn, hãy tạo một tệp <profile-dir>/chrome/disable_ctrl_q.uc.jscó nội dung sau:

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

Cuối cùng, khởi động lại Firefox và ctrl + q sẽ không còn khiến ứng dụng thoát ra nữa.


Kích hoạt userChrom.js trong Firefox Quantum

Để đầy đủ, bên dưới là nội dung đầy đủ của các tệp chrome được sửa đổi. Để bật javascript người dùng, hãy tạo hai tệp này trong một chromethư mục trong hồ sơ Firefox của bạn.

  1. Nhập about:supportvào thanh địa chỉ.
  2. Trong Thông tin cơ bản về ứng dụng> Thư mục hồ sơ, nhấp vào nút Mở thư mục để mở thư mục hồ sơ Firefox của bạn.
  3. Trong thư mục hồ sơ, tạo một thư mục mới gọi là chrome
  4. Trong chromethư mục, tạo các tệp mới userChrome.cssuserChrome.xmlvới nội dung được liệt kê bên dưới.
  5. Khởi động lại Firefox (có lẽ bạn cũng muốn tạo tệp .uc.js ở trên nếu bạn đang làm theo các bước sau để tắt ctrl + q)

userChrom.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");
}

userChrom.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
Điều này không hoạt động trong Firefox 62
Đau buồn

1
Nó hoạt động với bản ổn định mới nhất, Firefox 61. Hy vọng 62 được sửa trước khi nó rời bản beta.
chu đáo

Bây giờ tôi sử dụng giải pháp từ CrazyPyro superuser.com/a/1352295/308508
thinkmassive

Không hoạt động trong 69.0.2 (không phải beta). Ngoài ra, document.getElementById('key_quitApplication')trả về null. Có phải tên của yếu tố này đã thay đổi?
tsbertalan

6

Một cách giải quyết xấu xí, nhưng đơn giản và hiệu quả là luôn giữ một trang mở có onbeforeunloadtrình xử lý hoạt động , tức là sẽ kích hoạt "Trang này đang yêu cầu bạn xác nhận rằng bạn muốn rời khỏi - dữ liệu bạn đã nhập có thể không được lưu." hộp thoại khi bạn cố gắng để đóng nó.

Bằng cách đó, nếu bạn vô tình thử CTRL + Q, bạn sẽ nhận được hộp thoại đó và có thể chọn "ở lại trang này" để hủy lối ra.

Chỉnh sửa: Trang tùy chỉnh tôi thực hiện chỉ cho mục đích này


Tinh thần hacker tốt đấy!
Daniel Hitzel

Cảm ơn! Đã thêm một liên kết để thực hiện của tôi.
Jan Schejbal

Cảm ơn vì điều đó. Làm việc cho tôi, và thật táo bạo Tôi yêu nó (: Thật đáng kinh ngạc với tôi rằng FF đã làm hỏng điều đơn giản này.
jwd

4

Tôi đã có thể nhận được những gì tôi cần với AutoKey . Sau khi cài đặt, tôi đã tạo tập lệnh trống với gán Ctrl+ Qlà "Hotkey" và .*Firefox"Bộ lọc cửa sổ".

nhập mô tả hình ảnh ở đây

Sau đó, trong tùy chọn AutoKey, tôi đã thêm nó vào tự động khởi động và biểu tượng thông báo bị vô hiệu hóa, để nó trở nên trong suốt đối với tôi.

nhập mô tả hình ảnh ở đây

Tôi đã sử dụng nó trong một vài giờ và nó có vẻ đầy hứa hẹn - cho đến nay không có kết quả dương tính giả hoặc bị bỏ lỡ. Ngay bây giờ Ctrl+ Qkhông hoạt động cho Firefox, nhưng nó hoạt động hoàn toàn tốt trong PhpStorm chẳng hạn.


Ngoài ra, lỗi 1215061 mang đến một số hy vọng rằng điều này sẽ dễ dàng hơn trong tương lai và Firefox cuối cùng sẽ nhận được một số cài đặt phím tắt tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.