จะทำให้ Firefox เพิกเฉยต่อธีม GTK ของฉันได้อย่างไร?


50

ฉันมีธีม GTK สีเข้มติดตั้งใน Ubuntu 10.10 ติดตั้งและติดตั้งบุคคลสำหรับ Firefox ที่ฉันชอบ

ปัญหาคือ Firefox ใช้ธีม GTK มืดของฉันสำหรับรายการเช่นปุ่มและช่องข้อความบนหน้าเว็บทั่วไปและสิ่งนี้มักจะสร้างเมนูที่ไม่สามารถอ่านพื้นที่ข้อความและปุ่มได้ (ข้อความสีขาวบนพื้นหลังสีขาวหรือข้อความสีดำบนปุ่มสีดำ)

ฉันไม่ต้องการเปลี่ยนธีมเพราะพวกเขาดูดีในทุก ๆ แอปพลิเคชันและฉันไม่ต้องการที่จะทำสิ่งที่บ้ากับการติดตั้ง Firefox ของฉันเช่นใช้สคริปต์ผู้ใช้ที่กำหนดเองหรือ CSS แทนที่

สิ่งที่ฉันต้องการทำคือบอกให้ Firefox หยุดใช้ธีม GTK ของฉันอย่างสมบูรณ์ สิ่งนี้ดูเหมือนจะเป็นสิ่งที่เบราว์เซอร์ Chrome ของ Google ทำและมันก็สมเหตุสมผลที่สุด

นักพัฒนาเว็บสามารถทำงานกับธีม GTK ที่เป็นไปได้ทั้งหมดได้อย่างไร


ฉันสงสัยว่าใครมีวิธีแก้ปัญหาแบบถาวรสำหรับเรื่องนี้หรือไม่ฉันสามารถเปิด firefox จากแท็บ / หน้าต่างกิจกรรมของ Gnome 3 ได้
— ไหม

@MDeSchaepmeester: ดูคำตอบที่ฉันเพิ่มที่นี่สำหรับ KDE บางทีมันอาจใช้งานได้กับ Gnome เช่นกัน: askubuntu.com/a/358493/154613
— Igor Rodriguez

มีการแก้ปัญหาต่อไปรวมทั้งคนที่ทำงานให้ฉันบนคำถามที่เกี่ยวข้องมีaskubuntu.com/q/227727/23786
— CodeMouse92

คำตอบ:


36

เริ่ม Firefox ด้วยหนึ่งในคำสั่งต่อไปนี้:

  • GTK3 Firefox 46+: env GTK_THEME=Adwaita:light firefox
  • GTK2 Firefox <46: env GTK2_RC_FILES=/usr/share/themes/Simple/gtk-2.0/gtkrc firefox

สิ่งนี้จะเปิด Firefox โดยใช้ Simple / Adwaita: ธีมเบาซึ่งเป็นพื้นฐานที่สวยและควรผสมผสานกับ Persona ของคุณ คุณสามารถลองใช้ชุดรูปแบบอื่น ๆ โดยแทนที่ Simple ด้วยชื่อชุดรูปแบบ แต่ไม่สามารถใช้ได้กับชุดรูปแบบทั้งหมด

จนถึงตอนนี้ฉันได้ทดสอบกับ Simple และ Redmond themes เรียบร้อยแล้ว ...

ก่อน

ก่อน

หลังจาก

หลังจาก


สิ่งนี้ใช้ได้กับ mw ด้วยธีม 'คลื่นลูกใหม่' และ 'เรดมันด์' เท่านั้น แต่ก็ยังใช้งานได้ดังนั้นฉันจึงรู้สึกดีมาก สกรีน
— ช็อ

นี่มันเจ๋งมาก!!!
— RolandiXor

ซึ่งคุณต้องทำหลังจากออกจากอินสแตนซ์ firefox ปัจจุบันของคุณแน่นอนหรือสคริปต์ "firefox" จะแนะนำกระบวนการปัจจุบันให้เปิดหน้าต่างใหม่ (และการตั้งค่า GTK2_RC_FILES จะถูกข้ามไปโดยสิ้นเชิง)
— sylvainulg

2
firefox รุ่นล่าสุดเป็นที่ทราบกันว่าทำงานกับอะไร ฉันใช้ Firefox 31 บน Ubuntu Utopic และฉันสาบานว่าจะใช้งานได้หนึ่งครั้ง แต่ฉันต้องเห็นภาพหลอนเพราะมันไม่ทำงานอีกต่อไปไม่ว่าฉันจะพยายามทำอะไร
— robru

4
สิ่งนี้ไม่สามารถใช้งานกับ Firefox 46 ได้อีกต่อไปเนื่องจากเปลี่ยนเป็น GTK 3
— Konstantin Pereiaslov

46

ทางออกถาวร:

คุณสามารถระบุธีม GTK แบบเบาเพื่อใช้สำหรับการแสดงผลหน้าเว็บใน about: config นี่เป็นสิ่งที่ยอดเยี่ยมเพราะชุดรูปแบบระบบของคุณจะยังคงใช้งานกับเมนูอื่น ๆ แต่หน้าเว็บจะแสดงผลเช่นเดียวกับที่มีชุดรูปแบบแสง

  1. นำทางไปยังabout:configเบราว์เซอร์ Firefox ของคุณ
  2. คลิกขวาและเลือก new-> string
  3. ป้อนwidget.content.gtk-theme-overrideเป็นชื่อ
  4. ป้อนธีม GTK แบบเบาที่คุณติดตั้งบนระบบเพื่อรับค่า เช่นArc
  5. รีสตาร์ท Firefox

ที่มา: https://www.reddit.com/r/firefox/comments/6rbvvw/photon_rectangular_tabs_have_landed_in_nightly/dl4318f/

ดูเพิ่มเติมที่https://bugzilla.mozilla.org/show_bug.cgi?id=1283086


2
ฉันรักสิ่งนี้และมันใช้งานได้ บันทึกการตั้งค่าใน Firefox ตัวเองไม่ได้อยู่ที่ไหนสักแห่งที่คลุมเครือในระบบหรือรายการสก์ท็อป :)
— jocull

และไม่จำเป็นต้องรีสตาร์ท Firefox มันถูกนำไปใช้ทันที
— Massood Khaari

1
นี่จะเป็นตัวเลือกที่ดียกเว้นว่ามันจะไม่ทำงานอีกต่อไป น่าละอาย! ใช้ Firefox ทุกคืน 69.0a1
— smac89

ยังคงทำงานให้ฉันกับรุ่นที่เสถียร เมื่อ 69.0 มาถึงฉันจะประเมินอีกครั้ง
— rviertel

9

ฉันอยากจะเพิ่มคำตอบที่ดีของ @lovinglinuxวิธีทำให้ Firefox โหลดชุดรูปแบบเมื่อเปิดจากตัวเรียกใช้ในแถบงานแทนบรรทัดคำสั่ง:

  1. แก้ไข /usr/share/applications/firefox.desktop เป็น sudo,
  2. ในบรรทัด "Exec" ให้แทนที่ค่าหลัง "=" ด้วยคำสั่งโดยใช้คำสั่งที่ระบุโดย @lovinglinux ที่กล่าวถึง:

    bash -c 'GTK2_RC_FILES = / usr / share / themes / Redmond / gtk-2.0 / gtkrc firefox% u' เคทแก้ไข firefox.desktop

และผลลัพธ์คือ:

Firefox พร้อมธีม Redmond และแอปพลิเคชั่นอื่น ๆ ที่มีธีมมืด


1
ขอบคุณที่แสดงวิธีแก้ไขไฟล์ .desktop นั่นทำให้สะดวกมาก! ฉันใช้โซลูชันของคุณสำหรับ LibreOffice

ไฟล์เดสก์ท็อปจะถูกเขียนทับทุกครั้งที่ Firefox อัปเดตดังนั้นนี่ไม่ใช่วิธีแก้ปัญหาอย่างถาวร
— rviertel

8

UPDATE : คำตอบดั้งเดิมของฉันถูกเขียนทับจริง ๆ เมื่อ Firefox อัพเดท


โซลูชันปัจจุบัน (ถาวร) ของฉัน

แก้ไข
~/.mozilla/firefox/abcdef.default/chrome/userContent.css
(โดยที่ abcdef เป็นสตริงสุ่ม)

เพิ่ม

input:not(.urlbar-input):not(.textbox-input):not(.form-control):not([type='checkbox']):not([type='radio']), textarea, select {
    -moz-appearance: none !important;
    background-color: #eee;
    color: #111;
}

คำตอบเดิม

ฉันพบวิธีแก้ปัญหาเพื่อให้ Firefox เพิกเฉยธีม GTK ของคุณ อย่างสมบูรณ์

แก้ไข/usr/share/applications/firefox.desktopและเปลี่ยนแปลง

Exec=firefox %u

ไปยัง

Exec=bash -c 'GTK_THEME=" " firefox %u'

เมื่อคุณ (อีกครั้ง) เริ่ม FF มันจะเพียงใช้ชุดรูปแบบของ FF


1
มันได้ผล. Btw Exec=bash -c 'GTK_THEME=Arc-Darker firefox %u'ผมใช้
— mja

สิ่งนี้ใช้ไม่ได้ในระยะยาวเนื่องจากไฟล์ .desktop ถูกเขียนทับเมื่อมีการอัปเดตของ Firefox
— rviertel

@rviertel คุณพูดถูกมันเขียนทับ ฉันได้อัปเดตคำตอบของฉันด้วยโซลูชันปัจจุบันเพื่อแก้ไขปัญหานี้แล้ว
— barro32

2

ทางออกที่ดีที่สุดในการบอก Firefox ว่าควรใช้ธีมสีอ่อนแทนที่จะเป็นสีเข้มคือการระบุตัวแปร GTK_THEME ก่อนเปิดตัว

ดังนั้น 4 วิธีในการทำสิ่งนี้ ..

1- จากเทอร์มินัลที่คุณสามารถทำได้:

GTK_THEME=Adwaita:light firefox

2- ถ้าคุณเกลียดเทอร์มินัลและต้องการปิดทันทีที่ Firefox ทำงาน:

GTK_THEME=Adwaita:light firefox &

3- จาก firefox about: config คุณสามารถตั้งค่าต่อไปนี้เป็น false:

browser.display.use_system_colors

จะไม่ทำงานสำหรับไซต์ในพื้นที่! ดังนั้นหากคุณเป็นนักพัฒนาเว็บ / นักออกแบบมันจะไม่ได้ผลสำหรับคุณ

4- หากคุณต้องการให้สิ่งนี้เป็นพฤติกรรมเริ่มต้น:

เพียงเพิ่มสองบรรทัดลงในสคริปต์ตัวเปิดใช้ Firefox ซึ่งอยู่ที่ /usr/lib/firefox/firefox.sh

ในขั้วประเภทลง:

sudo gedit /usr/lib/firefox/firefox.sh

ดูที่จุดเริ่มต้นของสคริปต์สำหรับสิ่งนี้:

MOZ_LIBDIR=/usr/lib/firefox
MOZ_APP_LAUNCHER=`which $0`
MOZ_APP_NAME=firefox

export MOZ_APP_LAUNCHER

และเปลี่ยนเป็น:

MOZ_LIBDIR=/usr/lib/firefox
MOZ_APP_LAUNCHER=`which $0`
MOZ_APP_NAME=firefox
GTK_THEME=Adwaita:light

export MOZ_APP_LAUNCHER
export GTK_THEME

ในที่สุดรีสตาร์ท Firefox

หวังว่านี่จะช่วยได้

โปรดช่วยฉันด้วยการโหวตสิ่งนี้

ขอขอบคุณ :)


สิ่งนี้ใช้ได้สำหรับฉัน ขอขอบคุณ! +1
— VenoM

2

นี้Add-on (แนะนำโดยKoushik ) ทำงานได้ดีสำหรับฉัน

ฉันใช้ Firefox 57 กับ Ubuntu MATE 17.10


ขอขอบคุณส่วนขยายนี้ทำงานได้อย่างสมบูรณ์แบบสำหรับ Firefox Quantum บน Fedora :)
— john400

2

มีวิธีที่ง่ายมากในการเรียกคืนชุดสีเริ่มต้นสำหรับเว็บเพจในขณะที่ยังคงรักษาธีม GTK ของคุณสำหรับองค์ประกอบ Firefox ฉันรู้ว่าไม่ใช่สิ่งที่ถูกถาม แต่มันอาจช่วยให้ผู้คนที่มาที่นี่จากการค้นหาของ Google

  1. นำทางไปยังabout:configในแถบที่อยู่ของคุณ
  2. เลื่อนลงจนกว่าคุณจะเห็นการตั้งค่า
    • browser.display.foreground_color
    • browser.diaplay.background_color
  3. resetถ้าตั้งค่าเหล่านั้นได้รับการแก้ไขให้คลิกขวาและเลือกพวกเขา

ที่ควรจะเป็นมันไม่จำเป็นต้องรีสตาร์ท ใช้งานได้กับ Firefox Quantum

การตั้งค่าใน about: config


2

ฉันใช้กับAdwaita dark theme ฉันใช้รูปแบบเริ่มต้นในUbuntu 18 firefox 63.0ทางออกที่ดีที่สุดในกรณีของฉันโดยไม่มีผลข้างเคียงเลยคือบังคับให้ Firefox ใช้ธีมแสง ( Adwaitaในกรณีของฉัน) สำหรับการแสดงผลเนื้อหาเว็บเท่านั้น:

  • เปิดabout:configในแถบที่อยู่
  • สร้างรายการสตริงใหม่: widget.content.gtk-theme-override(คลิกขวา> ใหม่> สตริง)
  • ตั้งค่าเป็นชุดรูปแบบแสงเพื่อใช้สำหรับการแสดงผลเนื้อหา ( Adwaitaในกรณีของฉัน)
  • รีสตาร์ท Firefox

เปลี่ยนธีม GTK สำหรับกระบวนการเนื้อหาเท่านั้น


1

คุณสามารถเริ่ม Firefox ด้วยผู้ใช้อื่นและโปรไฟล์เดียวกัน คัดลอกโปรไฟล์ปัจจุบันของคุณ (~ / .mozilla / firefox / profile) ไปยังโฟลเดอร์ของผู้ใช้ที่แตกต่างกัน chown ไปยังผู้ใช้แล้วบนคอนโซลของคุณทำงาน:

su newuser
firefox -profilemanager

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

นอกจากนี้นี่คือประเภทของสิ่งต่าง ๆ ที่ทำให้การใช้ Firefox และ Ubuntu: P เป็นเรื่องสนุก


0

คุณสามารถเพิ่มธีมอื่นให้ Firefox ที่คุณชอบจากเครื่องมือ -> Addons -> ธีม จากนั้นใช้ธีมนั้นแทนธีมเริ่มต้น


2
คุณไม่สามารถใช้ชุดรูปแบบ Firefox ที่แตกต่างกันในขณะที่ใช้ Personas
— lovinglinux

1
โอ้ว้าวขอบคุณ ไม่ได้ตระหนัก (ยังดีใจที่คุณอยู่ที่นี่ผู้ใช้ Firefox ควรได้รับการช่วยเหลืออย่างมาก! :))
— NightwishFan

0

โซลูชัน Bannaz ใช้งานได้ดีเนื่องจากฉันไม่ใช้ไฟล์. เดสก์ท็อป แต่บางครั้ง (หรืออาจจะทุกครั้ง) เมื่อฉันอัปเกรด Firefox แพทช์ของฉันไปที่สคริปต์ตัวเรียกใช้จะหายไป

ดังนั้นวิธีแก้ไขของฉันคือการสร้างไฟล์สคริปต์ตัวเรียกใช้งานใหม่ซึ่งตั้งค่าธีม GTK ที่ต้องการเรียกใช้งานสคริปต์ตัวเรียกใช้งานดั้งเดิมและไม่ได้รับผลกระทบจากการอัปเกรด


/usr/bin/firefoxปล่อยเดิมในระบบของฉันตั้งอยู่ที่

ฉันสร้างตัวเรียกใช้งานใหม่ซึ่งตั้งอยู่ที่ที่/usr/bin/local/firefoxมีสิ่งต่อไปนี้:

#!/bin/sh
export GTK_THEME=Adwaita
exec /usr/bin/firefox "$@"

เปลี่ยนตำแหน่งพา ธ เพื่อให้เหมาะกับระบบของคุณ และอย่าลืมทำให้มันใช้งานได้:

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