จะทำให้ 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.