วิธีการเปลี่ยนลำดับความสำคัญของ x-www-browser


26

ฉันใช้งาน 15.04 64 บิต Lubuntu และฉันดาวน์โหลด chrome จากเว็บไซต์ของพวกเขาเพราะมันมีประโยชน์ในบางครั้ง แต่ฉันต้องการเก็บ firefox เป็นเบราว์เซอร์เริ่มต้นของฉันและแม้จะวางไว้เป็นเบราว์เซอร์เริ่มต้นก็ยังไม่ทำงานเมื่อฉัน x-www-browserปฏิบัติ ฉันใส่ firefox ด้วยตนเองเป็นค่าเริ่มต้นโดยใช้update-alternativesสคริปต์ แต่สิ่งที่ทำให้ฉันสงสัยว่าทำไม Chrome จึงให้ความสำคัญกับ 200 ฉันไม่เห็นว่าโครเมียมสูงเท่าที่พวกเขาทำเองดังนั้นฉันจะเปลี่ยนลำดับความสำคัญได้อย่างไร ?

นี่คือสิ่งที่ฉันมีตอนนี้และ firefox ได้กลายเป็นแอปพลิเคชันเริ่มต้นของฉันอย่างแน่นอน แต่ไม่ควรมีเมื่อฉันวางไว้อย่างชัดเจนเป็นค่าเริ่มต้นในอินเทอร์เฟซของ Firefox เอง

  Selection    Path                           Priority   Status
------------------------------------------------------------
  0            /usr/bin/google-chrome-stable   200       auto mode
  1            /usr/bin/chromium-browser       40        manual mode
* 2            /usr/bin/firefox                40        manual mode
  3            /usr/bin/google-chrome-stable   200       manual mode

7
+1 สำหรับ“ ฉันไม่เห็นว่าโครเมียมสูงเท่าที่พวกเขาทำเอง” ;-)
mirabilos

คำตอบ:


28

คุณสามารถเปลี่ยนลำดับความสำคัญด้วย:

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser google-chrome-stable <priority_as_integer>

ตัวอย่าง:

ก่อน

$ sudo update-alternatives --config x-www-browser 
There are 2 choices for the alternative x-www-browser (providing /usr/bin/x-www-browser).

  Selection    Path                         Priority   Status
------------------------------------------------------------
* 0            /usr/bin/google-chrome-beta   150       auto mode
  1            /usr/bin/firefox              150       manual mode
  2            /usr/bin/google-chrome-beta   150       manual mode

หลังจาก:

$ sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/google-chrome-beta 50
update-alternatives: using /usr/bin/firefox to provide /usr/bin/x-www-browser (x-www-browser) in auto mode

$ sudo update-alternatives --config x-www-browser                                                        
There are 2 choices for the alternative x-www-browser (providing /usr/bin/x-www-browser).

  Selection    Path                         Priority   Status
------------------------------------------------------------
* 0            /usr/bin/firefox              150       auto mode
  1            /usr/bin/firefox              150       manual mode
  2            /usr/bin/google-chrome-beta   50        manual mode

2
มันไม่ใช่ความผิดของคุณเนื่องจากคำตอบของคุณถูกต้อง แต่ "การแก้ปัญหา" นี้เป็นบ้าอย่างสมบูรณ์ ใครบางคนจะต้องคิดค้นสิ่งที่ดีกว่านั้น
Tino

@Tino: โต้แย้งมัน
Marco Sulla

3
เฉพาะสิ่งที่ชัดเจนที่สุด: 1) sudo: ดังนั้นจึงเป็นระบบต่อ แต่ควรเป็นต่อผู้ใช้หรือดีกว่าต่อเชลล์ 2) เส้นทางสัมบูรณ์: ดังนั้นจึงต้องมีความเข้าใจอย่างลึกซึ้งในระบบและเพียงแค่พิมพ์ผิดเล็กน้อยขึ้นมาอย่างสมบูรณ์ 3) commandline ที่ซับซ้อนและเข้าใจยาก 4) API ที่ไม่คาดคิด: Prio 1 มักจะเป็น Prio อันดับต้น ๆ ฉันไม่ได้บอกว่าหมายเลขนั้นผิด แต่โปรดอย่าเรียกว่า "ลำดับความสำคัญ" 5) มันเป็นฟังก์ชั่นที่ซ่อนอยู่อย่างดี ฯลฯ ฯลฯ ฟังก์ชั่นที่สำคัญเช่นนี้ใน Linux / Debian จะต้องได้รับการออกแบบโดยคำนึงถึงคนทั่วไปเสมอสำหรับผู้ที่ไม่ทราบและไม่สนใจ
Tino

@Tino "คนธรรมดา" ส่วนใหญ่จะไม่แม้แต่จะวิ่งเข้าไปใน x-www-browser แอพ GUI ส่วนใหญ่จะเคารพการเชื่อมโยงไฟล์ของ DE และยูทิลิตี้บรรทัดคำสั่งส่วนใหญ่จะเคารพตัวแปรสภาพแวดล้อม BROWSER
Jonathan Baldwin

1
@JonathanBaldwin คนธรรมดาไม่ทราบเกี่ยวกับx-www-browserหรือสิ่งที่EnvironmentหรือVariableวิธีการ อย่างไรก็ตามพวกเขาจะได้รับผลกระทบจากx-www-browserเบื้องหลัง เปรียบเทียบกับเรื่องอื้อฉาวการปล่อยมลพิษของโฟล์คสวาเกน: คนขับรถบรรทุกดีเซลเสียใจที่พวกเขารู้ว่าพวกเขาได้รับผลกระทบ แต่พวกเขาก็ยังไม่รู้เกี่ยวกับ AdBlue หรือวิธีการทำงาน แต่ที่สำคัญกว่านั้นคือพวกเขาไม่ต้องการที่จะรู้และไม่จำเป็นต้องให้พวกเขารู้! คนธรรมดาไม่ใช่วิศวกรวิทยาศาสตร์จรวดและแม้แต่วิศวกรวิทยาศาสตร์จรวดส่วนใหญ่ก็ไม่จำเป็นต้องรู้เกี่ยวกับ AdBlue ในรถของพวกเขาเช่นกัน
Tino

4

กล่าวโดยย่อ:แก้ไข / var / lib / dpkg / Alternatives / x-www-browser และเปลี่ยนลำดับความสำคัญภายใน


รายละเอียด

คำตอบที่ง่ายที่สุดและต้องตอบคือการแก้ไขไฟล์ทางเลือกการอัพเดทสำหรับผู้ดูแลที่พบใน /var/lib/dpkg/alternatives

ดังนั้นแก้ไขx-www-browserไฟล์

sudo gedit /var/lib/dpkg/alternatives/x-www-browser

ผลลัพธ์จะเป็นดังนี้:

auto
/usr/bin/x-www-browser

/usr/bin/firefox
40
/usr/bin/google-chrome-stable
200
/usr/bin/vivaldi-stable
200

ตอนนี้เปลี่ยนลำดับความสำคัญของโครเมี่ยม (200) ได้อย่างง่ายดายด้วยสิ่งที่คุณต้องการแล้วบันทึก (ฉันเปลี่ยนเป็น 50)

ตรวจสอบการตั้งค่าใหม่

update-alternatives --query x-www-browser 
Link: x-www-browser
Status: auto
Best: /usr/bin/vivaldi-stable
Value: /usr/bin/google-chrome-stable

Alternative: /usr/bin/firefox
Priority: 40

Alternative: /usr/bin/google-chrome-stable
Priority: 50

Alternative: /usr/bin/vivaldi-stable
Priority: 200

3
แม้ว่าวิธีนี้จะช่วยแก้ปัญหาของฉันได้ แต่ฉันพบว่าโซลูชันของ AB นั้นสะอาดกว่าในขณะที่เขาเปลี่ยนค่าผ่านทางupdate-alternativesอินเทอร์เฟซ ฉันชอบวิธีนี้เพราะคุณไม่เคยรู้เลยว่าจะทำอะไรยกเว้นการเปลี่ยนไฟล์อย่างที่คุณพูด ในทางเทคนิคการพูดแก้ปัญหาของเขานั้นง่ายกว่าเพราะเขาใช้เพียงแค่ 1 คำสั่ง คุณใช้ 1 คำสั่งเพื่อเปิดไฟล์ แต่ต้องแก้ไขและบันทึกหลังจากนั้นในขณะที่update-alternatives --installทำเพื่อคุณ
Peter Raeves

0

ฉันมี qutebrowser ติดตั้ง~/.local/binอยู่บนตัวฉัน$PATHแล้ว ฉันใส่เส้นทางเต็มไปยังปฏิบัติการได้ซึ่งหมายความว่าฉันต้องทำงาน

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser $HOME/.local/bin/qutebrowser 200

แทนที่จะใช้qutebrowserเป็นอาร์กิวเมนต์ที่สองถึงครั้งสุดท้ายเท่านั้น (เพราะupdate-alternativesบ่นเกี่ยวกับเส้นทางที่ไม่สมบูรณ์)

update-alternatives --config x-www-browser

แก้ไข: ฉันอยู่ใน debian buster / sid, HTH ยังไงก็ตาม EDIT2: การให้เหตุผลว่าทำไมฉันต้องระบุพา ธ เต็มไปยัง qutebrowser


คุณสามารถระบุว่าคำตอบของคุณแตกต่างจากคำตอบที่ยอมรับได้อย่างไร
Marc Vanhoomissen

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