Làm cách nào để Firefox có thể bỏ qua hoàn toàn chủ đề GTK của tôi?


50

Tôi có một chủ đề GTK tối được cài đặt trong cài đặt Ubuntu 10.10 của tôi và một cá nhân được cài đặt cho Firefox mà tôi cũng thích.

Vấn đề là Firefox đang sử dụng chủ đề GTK tối của tôi cho các mục như nút và trường văn bản trên các trang web phổ biến và điều này thường tạo ra các menu, vùng văn bản và nút không thể đọc được. (văn bản màu trắng trên nền trắng hoặc văn bản màu đen trên các nút màu đen).

Tôi không muốn thay đổi một trong hai chủ đề, bởi vì chúng trông tuyệt vời trong mọi ứng dụng khác và tôi không muốn phải làm điều gì đó điên rồ với bản cài đặt Firefox của mình như sử dụng tập lệnh người dùng tùy chỉnh hoặc ghi đè CSS.

Tất cả những gì tôi muốn làm là bảo Firefox ngừng sử dụng hoàn toàn chủ đề GTK của tôi. Đây dường như là những gì trình duyệt Chrome của Google làm và nó có ý nghĩa nhất cho đến nay.

Làm thế nào các nhà phát triển web có thể làm việc xung quanh tất cả các chủ đề GTK có thể có ngoài đó?


Tôi tự hỏi liệu có ai có giải pháp lâu dài cho việc này không vì vậy tôi chỉ có thể khởi chạy firefox từ tab / cửa sổ hoạt động Gnome 3 của mình ...
MarioDS

@MDeSchaepmeester: Xem câu trả lời tôi đã thêm vào đây để KDE, có lẽ nó hoạt động cho Gnome cũng như: askubuntu.com/a/358493/154613
Igor Rodriguez

Có nhiều giải pháp khác, bao gồm giải pháp phù hợp với tôi, về câu hỏi liên quan Askubfox.com/q/227727/23786 .
CodeMouse92

Câu trả lời:


36

Khởi động Firefox bằng một trong các lệnh sau:

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

Điều này sẽ khởi chạy Firefox bằng cách sử dụng chủ đề Simple / Adwaita: light, khá cơ bản và nên kết hợp với Persona của bạn. Bạn có thể thử các chủ đề khác, bằng cách thay thế Đơn giản bằng tên chủ đề, nhưng điều này không hoạt động với tất cả các chủ đề.

Cho đến nay tôi đã thử nghiệm thành công với các chủ đề Đơn giản và Redmond ...

Trước

Trước

Sau

Sau


điều này chỉ hiệu quả với các chủ đề 'làn sóng mới' và 'redmond', nhưng nó vẫn hoạt động, vì vậy tôi rất tuyệt vời. ảnh chụp màn hình luôn được đánh giá cao :)
tamale

điều này thật tuyệt!!!
RolandiXor

Tất nhiên, điều bạn cần làm sau khi thoát phiên bản firefox hiện tại hoặc tập lệnh "firefox" sẽ chỉ hướng cho quy trình hiện tại để mở một cửa sổ mới (và cài đặt GTK2_RC_FILES hoàn toàn bị bỏ qua).
sylvainulg

2
Phiên bản mới nhất của firefox được biết là hoạt động với cái gì? Tôi đang sử dụng Firefox 31 trên Ubuntu Utopic và, tôi thề điều này có hiệu quả với tôi một lần, nhưng tôi phải bị ảo giác vì nó không còn hoạt động cho dù tôi có thử gì đi nữa.
robru

4
Điều này không còn hoạt động với Firefox 46 vì đã chuyển sang GTK 3.
Konstantin Pereiaslov

46

Giải pháp lâu dài:

Bạn có thể chỉ định một chủ đề GTK nhẹ để sử dụng để hiển thị các trang web trong about: config. Điều này thật tuyệt vời vì chủ đề hệ thống của bạn vẫn sẽ áp dụng cho các menu, v.v. nhưng các trang web sẽ được hiển thị như chúng có chủ đề nhẹ.

  1. Điều hướng đến about:configtrong trình duyệt Firefox của bạn
  2. Nhấp chuột phải và chọn new-> chuỗi
  3. Nhập widget.content.gtk-theme-overridetên
  4. Nhập một chủ đề GTK nhẹ mà bạn đã cài đặt trên hệ thống của mình cho giá trị. ví dụArc
  5. Khởi động lại firefox.

Nguồn: https://www.reddit.com/r/firefox/comments/6rbvvw/photon_r chữ_tabs_have_landed_in_nightly / dl4318f /

Xem thêm https://ormszilla.mozilla.org/show_orms.cgi?id=1283086


2
Tôi thích điều này và nó hoạt động. Lưu cài đặt trong chính Firefox, không bị che khuất trong hệ thống hoặc mục trên máy tính để bàn :)
vui vẻ vào

Và không cần thiết để khởi động lại Firefox. Nó được áp dụng ngay lập tức.
Massood Khaari

1
Đây sẽ là một lựa chọn tốt ngoại trừ việc nó không hoạt động nữa. Xấu hổ làm sao! Chạy Firefox hàng đêm 69.0a1
smac89

Vẫn làm việc cho tôi trên phiên bản ổn định. Khi 69.0 xuất hiện, tôi sẽ đánh giá lại.
rviertel

9

Tôi muốn thêm vào câu trả lời tuyệt vời của @lovinglinux một cách để Firefox tải chủ đề khi được mở từ trình khởi chạy trên thanh tác vụ thay vì dòng lệnh:

  1. Chỉnh sửa /usr/share/appluggest/firefox.desktop thành sudo,
  2. Trong dòng "Exec", thay thế giá trị sau "=" bằng lệnh bằng cách sử dụng các hướng dẫn được cung cấp bởi @lovinglinux được đề cập:

    bash -c 'GTK2_RC_FILES = / usr / share / Themes / Redmond / gtk-2.0 / gtkrc firefox% u' Kate chỉnh sửa firefox.desktop

Và kết quả là đây:

Firefox với chủ đề Redmond và tất cả các ứng dụng khác có chủ đề tối


1
Cảm ơn bạn đã chỉ ra cách sửa đổi tệp .desktop. Điều đó làm cho nó rất thuận tiện! Tôi đang sử dụng giải pháp của bạn cho LibreOffice.

Tệp máy tính để bàn bị ghi đè mỗi khi Firefox cập nhật nên đây không phải là giải pháp lâu dài
rviertel

8

CẬP NHẬT : Câu trả lời ban đầu của tôi thực sự bị ghi đè khi Firefox cập nhật.


Giải pháp hiện tại (vĩnh viễn) của tôi

Chỉnh sửa
~/.mozilla/firefox/abcdef.default/chrome/userContent.css
(trong đó abcdef là một chuỗi ngẫu nhiên)

Thêm vào

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;
}

Câu trả lời gốc

Tôi tìm thấy một giải pháp để làm cho Firefox hoàn toàn bỏ qua chủ đề GTK của bạn.

Chỉnh sửa /usr/share/applications/firefox.desktopvà thay đổi

Exec=firefox %u

đến

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

Khi bạn (bắt đầu) FF, nó sẽ chỉ sử dụng chủ đề FF.


1
Nó hoạt động. Tôi sử dụng Btw Exec=bash -c 'GTK_THEME=Arc-Darker firefox %u'.
mja

Điều này không hoạt động lâu dài vì tệp .desktop bị ghi đè khi cập nhật firefox
rviertel

@rviertel bạn nói đúng, nó bị ghi đè. Tôi đã cập nhật câu trả lời của mình với giải pháp hiện tại cho vấn đề này.
barro32

2

Giải pháp tốt nhất để nói với Firefox rằng nó nên sử dụng chủ đề sáng thay vì bóng tối là bằng cách chỉ định biến GTK_THEME trước khi khởi chạy.

Vì vậy, 4 cách bạn có được để làm điều này ..

1- từ thiết bị đầu cuối bạn có thể làm:

GTK_THEME=Adwaita:light firefox

2- nếu bạn ghét thiết bị đầu cuối và muốn đóng nó sau khi firefox hoạt động:

GTK_THEME=Adwaita:light firefox &

3- từ firefox about: config bạn có thể đặt cài đặt sau thành false:

browser.display.use_system_colors

KHÔNG LÀM VIỆC CHO TRANG WEB localhost! Vì vậy, nếu bạn là một nhà phát triển / thiết kế web, nó sẽ không phù hợp với bạn.

4 - nếu bạn muốn đây là hành vi xác thực:

Chỉ cần thêm hai dòng vào tập lệnh launcher của Firefox có tại /usr/lib/firefox/firefox.sh

trong loại thiết bị đầu cuối xuống:

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

nhìn vào phần đầu của kịch bản cho điều này:

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

export MOZ_APP_LAUNCHER

và thay đổi nó thành này:

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

Cuối cùng, khởi động lại Firefox.

Hi vọng điêu nay co ich.

Xin hãy giúp tôi bằng cách bỏ phiếu này.

Cảm ơn bạn :)


Điều này làm việc cho tôi. Cảm ơn bạn! +1
VenoM

2

Tiện ích này (được đề xuất bởi koushik ) hoạt động tốt với tôi.

Tôi đang sử dụng Firefox 57 trên Ubuntu MATE 17.10


Cảm ơn, tiện ích mở rộng này đã hoạt động hoàn hảo cho Firefox Quantum trên Fedora. :)
john400

2

Có một cách rất đơn giản để lấy lại bảng màu mặc định cho các trang web trong khi vẫn giữ chủ đề GTK của bạn cho các thành phần Firefox. Tôi biết đó không chính xác là những gì được hỏi, nhưng nó có thể giúp mọi người đến đây từ một tìm kiếm Google.

  1. Điều hướng đến about:configtrong thanh địa chỉ của bạn.
  2. Cuộn xuống cho đến khi bạn thấy các cài đặt
    • browser.display.foreground_color
    • browser.diaplay.background_color
  3. Nếu những cài đặt đó đã được sửa đổi, nhấp chuột phải vào chúng và chọn reset.

Đó nên là nó, không cần khởi động lại. Điều này hoạt động với Firefox Quantum.

Cài đặt trong about: config


2

Tôi đang sử dụng Adwaita dark themevới Ubuntu 18. Tôi đang sử dụng chủ đề mặc định trong firefox 63.0. Giải pháp tốt nhất trong trường hợp của tôi, hoàn toàn không có tác dụng phụ, là buộc firefox sử dụng một chủ đề nhẹ ( Adwaitatrong trường hợp của tôi) để chỉ hiển thị nội dung web:

  • Mở about:configtrong thanh địa chỉ.
  • Tạo một mục nhập chuỗi mới: widget.content.gtk-theme-override(nhấp chuột phải> Mới> Chuỗi).
  • Đặt giá trị cho chủ đề ánh sáng để sử dụng để hiển thị nội dung ( Adwaitatrong trường hợp của tôi).
  • Khởi động lại firefox.

Thay đổi chủ đề GTK chỉ cho quá trình nội dung


1

Bạn có thể khởi động Firefox với một người dùng khác và cùng một hồ sơ. Sao chép hồ sơ hiện tại của bạn (~ / .mozilla / firefox / profile) vào thư mục người dùng khác đó, truy cập nó cho người dùng và sau đó trên bảng điều khiển của bạn chạy:

su newuser
firefox -profilemanager

Điều này nghe có vẻ hơi quá mức, nhưng bạn có thể đặt nó vào một kịch bản. Firefox sẽ sử dụng chủ đề trên hồ sơ, nhưng giữ GTK chưa được chỉnh sửa từ người dùng mới.

Ngoài ra, đây là loại công cụ khiến nó thú vị khi sử dụng Firefox và Ubuntu: P


0

Bạn có thể thêm một chủ đề khác vào Firefox mà bạn thích từ Công cụ -> Addons -> Chủ đề. Sau đó, chỉ cần sử dụng chủ đề đó thay vì chủ đề mặc định.


2
Bạn không thể sử dụng một chủ đề Firefox khác trong khi sử dụng Personas
lovlinux

1
Ồ wow, cảm ơn. Đã không nhận ra. (Cũng rất vui khi bạn ở đây, người dùng Firefox sẽ được giúp đỡ rất nhiều! :))
NightwishFan

0

Giải pháp Bannaz hoạt động rất tốt vì tôi không sử dụng các tệp .desktop, nhưng đôi khi (hoặc có thể mọi lúc) khi tôi nâng cấp Firefox, bản vá của tôi thành tập lệnh launcher biến mất.

Vì vậy, giải pháp của tôi cho vấn đề này là tạo một tệp kịch bản trình khởi chạy mới, thiết lập chủ đề GTK ưa thích, thực thi tập lệnh trình khởi chạy ban đầu và không bị ảnh hưởng bởi việc nâng cấp.


Trình khởi chạy ban đầu trên hệ thống của tôi được đặt tại /usr/bin/firefox.

Tôi đã tạo một launcher mới /usr/bin/local/firefoxcó chứa các mục sau:

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

Thay đổi vị trí đường dẫn cho phù hợp với hệ thống của bạn. Và đừng quên làm cho nó có thể thực thi được:

sudo chmod +x /usr/local/bin/firefox
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.