วิธีปิดใช้งานทางลัด Ctrl + Q ใน Firefox บน Linux


56

ตั้งแต่ Firefox 57 ไม่มีทางที่จะปิดการใช้งานCtrl+ Qทางลัดโดยปลั๊กอินบน Linux (ดูข้อผิดพลาดนี้ ) วิธีแก้ปัญหาทั้งหมดที่ฉันพบนั้นขึ้นอยู่กับการตั้งค่าโกลบอลCtrl+ Qทางลัดเพื่อ "ขโมย" จาก Firefox แต่นี่จะปิดการใช้งานทางลัดนี้ในทุกแอปพลิเคชันและฉันต้องการที่จะปิดการใช้งานทางลัดนี้เฉพาะใน Firefox โดยไม่ส่งผลกระทบต่อแอปอื่น ๆ

มีวิธีปิดใช้งานหรือจับทางลัดสำหรับแอปพลิเคชันเดียวเท่านั้นหรือไม่ ฉันใช้ Ubuntu กับ Unity


คำถามที่น่าสนใจ แต่คำตอบอาจขึ้นอยู่กับกรณีการใช้งาน การกดปุ่มโดยอุบัติเหตุ โหมดคีออสก์?
l0b0

4
@ l0b0 การกดปุ่มโดยอุบัติเหตุ นี่เป็นพีซีปกติไม่มีอะไรแฟนซี
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

ทดสอบในทุกเวอร์ชั่นฉันเจอ 61.0.2-64.0.2 บน 64bit Linux (และช่อง 60esr บน Win10) ภาพหน้าจอ


2
ข้อเสนอแนะที่สร้างสรรค์กับ downvote นั้น?
CrazyPyro

4
และตอนนี้ตั้งแต่ FF 63.0.3 (64- บิต Ubuntu) ctrl-Q จะออกจากฉันทันทีอีกครั้งแม้จะเปิดใช้งานตัวเลือกทั้งสองแล้วก็ตาม มันน่าประหลาดใจที่สิ่งที่พวกเขาทำมาจากคุณสมบัติที่เรียบง่าย (ผิดพลาด) อาดีบางทีมันอาจจะทำงานอีกครั้งใน V64 ...
Pont

3
ฉันไม่เห็นbrowser.showQuitWarningon ff quantum 64.0 64 บิตบน linux browser.warnOnQuitเปิดใช้งาน แต่ไม่ทำอะไรเลย
bool3max

4
สิ่งนี้ไม่ทำงานสำหรับฉันใน Firefox 66.0.5 ใน Manjaro Linux จะต้องจัดการกับbrowser.tabs.warnOnClose;trueตอนนี้ ที่เกี่ยวข้อง: bugzilla.mozilla.org/show_bug.cgi?id=502908#c73
aguadopd

2
คำตอบที่เลือกไม่สามารถแก้ไขปัญหาได้อีกต่อไป
เปาโล

15

tl / dr: กำหนดทางลัดส่วนกลางให้กับ Ctrl-Q

ใน Firefox Quantum การabout:configตั้งค่าที่ใช้เตือนเมื่อปิด Firefox ผ่านการกดปุ่ม Ctrl-Q โดยไม่ตั้งใจไม่ทำงานอีกต่อไป

วิธีแก้ปัญหา:บน Arch Linux | สภาพแวดล้อมเดสก์ท็อป XFCE (Linux distros & / หรือเดสก์ท็อปอื่นอาจอนุญาตวิธีการที่คล้ายกัน):

  • เมนูหนวด >> การตั้งค่าทั้งหมด >> แป้นพิมพ์ >> ทางลัดแอปพลิเคชัน >> เพิ่ม

  • เพิ่ม "แอปพลิเคชัน" ใหม่null; กำหนดให้กับCtrl-Qปุ่มกด

    • อัปเดต (ความคิดเห็นโดย @justderb): "การใช้ 'จริง' แทน 'null' เป็นสิ่งที่ดีถ้าคุณไม่ต้องการให้หน้าต่างแสดงข้อผิดพลาดปรากฏขึ้น"

Firefox - 'ปิดการใช้งาน' Ctrl-Q

ภาวนา:ที่นี่ฉันกดCtrl-QFirefox Quantum v. 60.0.1 (64- บิต); แทนที่จะออกจาก Firefox ฉันจะได้รับป๊อปอัพนี้

Firefox - Ctrl-Q 'ปิดการใช้งาน'

ข้อแม้:แน่นอนว่าสิ่งนี้มีผลกระทบต่อทั่วโลก อย่างไรก็ตาม - ตามความชอบของฉันเอง - ข้อบกพร่องนั้นมีมากกว่าโดยการทำให้ Firefox Ctrl-Q ปิดโดยไม่ตั้งใจ (หลังจากนั้นฉันจะต้องลงชื่อเข้าใช้เว็บไซต์อีกครั้ง: GitHub; reddit; ... )

ปรับปรุง

คำตอบของ @crazypyro ใช้ได้กับฉันด้วย (Quant Quantum 63.0 บน x86_64 Linux) ให้คำเตือนป๊อปอัปหากคุณพยายามเลิก Firefox นั่นน่าจะถือได้ว่าเป็นคำตอบที่เฉพาะเจาะจงด้วยวิธีการแก้ปัญหาของฉันเป็นวิธีทั่วไปมากขึ้น

about:config(ทั้งสองชุดต่อไปนี้เป็นtrue):

  • browser.showQuitWarning
  • browser.warnOnQuit

7
การใช้trueแทนที่จะnullดีถ้าคุณไม่ต้องการให้หน้าต่างแสดงข้อผิดพลาดปรากฏขึ้น
justderb

@justderb: ดี! :-D
Victoria Stuart

1
สำหรับฉันใน archlinux / kde 5 plasma ฉันไม่สามารถทำทางลัดทั่วโลกได้โดยไม่ต้องเลือกแอปพลิเคชั่นก่อน - ไม่จริง | null แต่ขอบคุณคำแนะนำของคุณฉันสามารถแมปใหม่เพื่อสลับไมโครโฟน - บนคอมพิวเตอร์ที่ทำงานไม่มีจุดหมายสำหรับฉัน อย่างไรก็ตาม .. ขอบคุณ!
JTC

การจับคู่ CTRL + q ใน sxhkd ก็จี้ทางลัดเช่นกันเพื่อป้องกันไม่ให้ Firefox เลิก
Simon Cedergren Malmqvist

ทำงานในมิ้นต์ 19.
Paul

7

ปิดใช้งาน Ctrl + q ด้วย userChrome.js ใน Firefox Quantum

สามารถทำได้โดยไม่ต้องมีแอปพลิเคชันภายนอกโดยใช้จาวาสคริปต์ในโปรไฟล์ Firefox ของคุณ

คุณต้องเปิดใช้งาน userChrome.js (ดูด้านล่างหรือได้รับจากrepo GitHub เดิม )

หลังจากคัดลอกไดเร็กทอรี chrome และเนื้อหาลงในโปรไฟล์ผู้ใช้ของคุณให้สร้างไฟล์ที่<profile-dir>/chrome/disable_ctrl_q.uc.jsมีเนื้อหาต่อไปนี้:

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

ท้ายสุดรีสตาร์ท Firefox และ ctrl + q จะไม่ทำให้แอปพลิเคชันออกอีกต่อไป


การเปิดใช้งาน userChrome.js ใน Firefox Quantum

เพื่อความสมบูรณ์ด้านล่างนี้เป็นเนื้อหาทั้งหมดของไฟล์โครมที่ถูกดัดแปลง หากต้องการเปิดใช้งานจาวาสคริปต์ผู้ใช้ให้สร้างไฟล์ทั้งสองนี้ภายในchromeไดเรกทอรีภายในโปรไฟล์ Firefox ของคุณ

  1. พิมพ์about:supportในแถบที่อยู่
  2. ภายใต้พื้นฐานของแอปพลิเคชัน> ไดเรกทอรีโปรไฟล์คลิกปุ่มเปิดไดเรกทอรีเพื่อเปิดไดเรกทอรีโปรไฟล์ Firefox ของคุณ
  3. ภายในไดเรกทอรีโปรไฟล์สร้างไดเรกทอรีใหม่ที่เรียกว่า chrome
  4. ภายในchromeไดเรกทอรีให้สร้างไฟล์ใหม่userChrome.cssและuserChrome.xmlมีเนื้อหาตามรายการด้านล่าง
  5. รีสตาร์ท Firefox (คุณอาจต้องการสร้างไฟล์. uc.js ด้านบนหากคุณทำตามขั้นตอนเหล่านี้เพื่อปิดการใช้งาน ctrl + q)

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

ตอนนี้ฉันใช้โซลูชันจาก CrazyPyro superuser.com/a/1352295/308508
thinkmassive

ไม่ทำงานใน 69.0.2 (ไม่ใช่รุ่นเบต้า) นอกจากนี้document.getElementById('key_quitApplication')ผลตอบแทนที่เป็นโมฆะ องค์ประกอบของชื่อนี้มีการเปลี่ยนแปลงหรือไม่?
tsbertalan

6

วิธีแก้ปัญหาที่น่าเกลียด แต่เรียบง่ายและมีประสิทธิภาพมักจะเปิดหน้าเว็บที่มีonbeforeunloadตัวจัดการที่ใช้งานอยู่เสมอเช่นจะเรียก "หน้านี้ขอให้คุณยืนยันว่าคุณต้องการออกจาก - ข้อมูลที่คุณป้อนอาจไม่ถูกบันทึก" โต้ตอบเมื่อคุณพยายามที่จะปิด

ด้วยวิธีนี้หากคุณพยายาม CTRL + Q โดยไม่ตั้งใจคุณจะได้รับกล่องโต้ตอบนั้นและสามารถเลือก "อยู่ในหน้านี้" เพื่อยกเลิกการออก

แก้ไข: เพจที่กำหนดเองที่ฉันทำเพื่อการนี้โดยเฉพาะ


มีแฮ็กเกอร์ที่ดีที่นั่น!
Daniel Hitzel

ขอบคุณ! เพิ่มลิงค์ไปยังการใช้งานของฉัน
Jan Schejbal

ขอบคุณสำหรับสิ่งนี้. ได้ผลสำหรับฉันแล้วฉันก็รักมัน cheezy (: มันช่างน่าประหลาดใจสำหรับฉันที่ FF ทำให้เรื่องนี้ง่ายขึ้น
jwd

4

ฉันก็สามารถที่จะได้รับสิ่งที่ฉันจำเป็นต้องมีAutoKey หลังจากการติดตั้งฉันสร้างสคริปต์เปล่าโดยกำหนดCtrl+ Qเป็น "Hotkey" และ.*Firefox"Window filter"

ป้อนคำอธิบายรูปภาพที่นี่

จากนั้นในการตั้งค่า AutoKey ฉันเพิ่มลงในไอคอนเริ่มอัตโนมัติและปิดใช้งานการแจ้งเตือนดังนั้นจึงกลายเป็นความโปร่งใสสำหรับฉัน

ป้อนคำอธิบายรูปภาพที่นี่

ฉันใช้มันสองสามชั่วโมงและมันก็ดูดี - ไม่มีข้อผิดพลาดที่เป็นบวกหรือที่จับได้พลาด ตอนนี้Ctrl+ Qไม่ทำงานกับ Firefox แต่ทำงานได้ดีอย่างสมบูรณ์ใน PhpStorm


นอกจากนี้ข้อผิดพลาด 1215061ให้ความหวังว่าสิ่งนี้จะง่ายขึ้นในอนาคตและในที่สุด Firefox ก็จะได้รับการตั้งค่าแป้นพิมพ์ลัดที่เหมาะสม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.