การเพิ่มพารามิเตอร์ให้กับเบราว์เซอร์เริ่มต้น


8

ฉันสามารถเรียกใช้เบราว์เซอร์จากเส้นประพร้อมพารามิเตอร์เพิ่มเติม (เช่นgoogle-chrome --single-process --purge-memory-button) ได้โดยไม่มีปัญหาโดยแก้ไข.desktop fileแต่วิธีที่ฉันสามารถเข้าถึงได้โดยเรียกใช้เบราว์เซอร์เริ่มต้นผ่านการเรียกเหตุการณ์ URL ที่เปิดอยู่ ไม่มีตัวเลือกที่ใช้ในกรณีนี้

ตัวอย่างเช่นถ้าฉันมีเอกสารใน LibreOffice ด้วย URL หลังจากคลิกที่มันอินสแตนซ์ใหม่ของเบราว์เซอร์จะปรากฏขึ้น แต่ไม่มีการใช้พารามิเตอร์ใด ๆ ฉันจะเปลี่ยนสิ่งเหล่านั้นได้อย่างไร


สร้างตัวเรียกใช้งานที่กำหนดเอง .desktop ของ Google Chrome ในโฟลเดอร์เดียวกับที่มีอยู่ แต่มีค่าชื่ออื่น จากนั้นตั้งเป็นค่าเริ่มต้นใน 'รายละเอียด'> 'แอปพลิเคชันเริ่มต้น'
Wilf

คำตอบ:


4

การแก้ไขไฟล์ .desktop ก็เพียงพอแล้วในกรณีนี้เช่นกันเพราะแอปพลิเคชันเริ่มต้นจะถูกเรียกผ่านไฟล์. desktop

ดู/etc/gnome/defaults.listไฟล์และ~/.local/share/applications/mimeapps.listไฟล์ส่วนแรกมีค่าเริ่มต้นของระบบและส่วนที่สองมีค่าเริ่มต้นที่คุณเลือกแทนค่าเริ่มต้นของระบบ

ดังนั้นโดยทั่วไปเพียงแค่มองเข้าไปในไฟล์เหล่านั้นและดูว่าไฟล์. esktop ใดที่เรียกว่าประเภท mime และแก้ไขไฟล์. esktop ในแบบที่คุณชอบ ไฟล์ .desktop สามารถพบได้ใน/usr/share/applications/ไดเรกทอรีหรือถ้าคุณมี overriden .desktop เริ่มต้นที่สามารถพบได้ใน~/.local/share/applications/ไดเรกทอรี (นั่นหมายความว่าหากคุณมีไฟล์ .desktop ที่มีชื่อเหมือนกันในทั้งสองไดเรกทอรีระบบจะใช้ไฟล์ .desktop อยู่ใน~/.local/share/applications/ไดเรกทอรีเสมอ)

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

cp /usr/share/applications/firefox.desktop ~/.local/share/applications/firefox.desktop

เพื่อแทนที่ไฟล์. desktop เริ่มต้นและเปลี่ยน~/.local/share/applications/firefox.desktopไฟล์ที่บรรทัด

Exec=firefox %u

ถึง

Exec=firefox -new-window %u

ดูดีสำหรับ Firefox แต่ดูเหมือนว่าโครเมี่ยมกำลังทำอะไรที่น่ารังเกียจกับ ... icewind@icewind-Aspire-4820TG:~$ cat ~/.local/share/applications/mimeapps.list | grep google text/html=google-chrome.desktop x-scheme-handler/mailto=google-chrome.desktop x-scheme-handler/http=google-chrome.desktop x-scheme-handler/https=google-chrome.desktop x-scheme-handler/unknown=google-chrome.desktop แต่$ ls -al /usr/share/applications | grep chrome $ $ ls -la ~/.local/share/applications | grep chrome $ มีความคิดอะไรบ้าง?
มกราคม 13

@Jan ฉันไม่เข้าใจปัญหาของคุณ จากผลลัพธ์ของคุณฉันเห็นว่าคุณได้ตั้ง chrome เป็นเบราว์เซอร์เริ่มต้น (mimeapps.list) แต่คุณไม่มีไฟล์ google-chrome.desktop ในโฮมไดเร็กตอรี่ของคุณ /usr/share/applicationsนั่นคือที่ดีถ้าคุณไม่มีไฟล์เดสก์ทอปมีไฟล์แล้วทั้งระบบเริ่มต้นเดสก์ทอปจะใช้จาก หากคุณต้องการแทนที่ที่เพิ่งคัดลอกไปยัง~/.local/share/applications/ไดเรกทอรีของคุณและมันจะแทนที่ค่าเริ่มต้น
falconer

0

ในกรณีนี้คุณจะต้องแก้ไขไฟล์ที่จัดการกับการทำงานของเบราว์เซอร์ วิธีนี้คุณจะมั่นใจได้ว่าพารามิเตอร์ที่คุณต้องการจะถูกรวมไว้เมื่อถูกเรียกจากทุกที่

นี่คือสิ่งที่ฉันหมายถึง:

  1. ย้ายไฟล์ต้นฉบับไปที่ชื่ออื่น
  2. ด้วยชื่อเก่าของไฟล์ต้นฉบับสร้างสคริปต์ใหม่เรียกไฟล์ต้นฉบับด้วยพารามิเตอร์ที่จำเป็น

chromium-browserผมจะแสดงตัวอย่างของวิธีการทำเช่นนี้โดยใช้

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

  • สำรองไฟล์เก่า:

    cp / usr / bin / chromium-browser ~ / เอกสาร / backup /

ที่ไหน/usr/bin/chromium-browserเป็นปฏิบัติการของเบราว์เซอร์ของคุณและ~/Documents/backup/เป็นสถานที่ตัวอย่างเช่นการสำรองข้อมูล /usr/share/applicationsเพื่อที่จะหาสถานที่ตั้งของปฏิบัติการที่เรียกว่าทุกครั้งที่เบราว์เซอร์ของคุณจะถูกเปิดตัวที่คุณสามารถค้นหาได้จากไฟล์เดสก์ทอปมักจะอยู่ใน

สิ่งนี้จะคัดลอก / usr / bin / chromium-browser ไปที่ ~ / Documents / backup /

  • ย้ายไฟล์ไปที่ชื่อใหม่:

    sudo mv / usr / bin / chromium-browser / usr / bin / chromium-original

สิ่งนี้จะเปลี่ยนชื่อไฟล์ที่เรียกทำงานได้จาก Chromium-browser เป็น Chromium-original

  • แทนที่ชื่อไฟล์เก่าด้วยไฟล์ที่ส่งผ่านพารามิเตอร์ที่คุณต้องการให้เรียกใช้งานได้ดั้งเดิม

ตัวอย่างเช่นในโอกาสนี้สร้างไฟล์ที่เรียกว่า chromium-browser ด้วยเนื้อหา:

#!/bin/bash

/usr/bin/chromium-original --param1 --param2 --param3 "$@"

โดยที่ --param1 --param2 --param3 เป็นพารามิเตอร์ที่คุณต้องการเรียกใช้งานในแต่ละครั้ง

"$ @" หมายถึง "พารามิเตอร์ทั้งหมดที่ส่งผ่านไปยังไฟล์นี้" ซึ่งในกรณีนี้มันมักจะเป็น URL

  • ทำให้ไฟล์เรียกทำงานและย้ายไปยังตำแหน่งไฟล์เก่า

หลังจากคุณบันทึกไฟล์ข้างต้นแล้วให้เรียกใช้งานได้ สองวิธีในการทำคลิกขวา -> คุณสมบัติ -> สิทธิ์ -> อนุญาตให้เรียกใช้ไฟล์เป็นโปรแกรมหรือผ่านเทอร์มินัล:chmod +ax chromium-browser

ในที่สุดให้ย้ายไปยังตำแหน่งเดิมของไฟล์สั่งการดั้งเดิม:

mv ~/chromium-browser /usr/bin/

ตำแหน่ง~/chromium-browserที่สคริปต์สร้างขึ้น

โปรดทราบว่าคุณไม่จำเป็นต้องทำสิ่งเหล่านี้หากคุณต้องการแทนที่หนึ่งคำสั่งของเทอร์มินัลด้วยเหมือนกัน แต่มีอาร์กิวเมนต์อื่น คุณสามารถทำได้~/.bash_aliasesโดยใช้นามแฝง ดูวิธีสร้าง "นามแฝง" แบบถาวรได้อย่างไร สำหรับข้อมูลเพิ่มเติม.

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