xdg-open เปิดเฉพาะแท็บใหม่ในหน้าต่าง Chromium ใหม่แม้ว่าจะผ่าน URL ไปแล้วก็ตาม


10

เมื่อฉันใช้xdg-openเพื่อเปิดลิงก์ใน Chromium มันจะส่งผลให้หน้าต่าง Chromium ใหม่มีเพียงหน้าแท็บใหม่เท่านั้นโดยไม่มีอะไรอื่น

ตัวอย่างเช่นxdg-open 'https://askubuntu.com'เพิ่งจะเปิดหน้าต่าง Chromium ใหม่และจะไม่เปิด AskUbuntu

มันก็ดูเหมือนว่า URL ที่ไม่ได้ถูกส่งผ่านไปยังโครเมี่ยมเป็นอัญเชิญโครเมี่ยมโดยตรงไม่ทำงานและเปิดหน้าเว็บที่ต้องการ: งานchromium-browser 'https://askubuntu.com'

เห็นได้ชัดว่า Chromium เป็นเบราว์เซอร์เริ่มต้น

ปัญหาจะอยู่ที่ไหนและฉันจะแก้ไขได้อย่างไร มันน่ารำคาญเป็นพิเศษเมื่อบางโปรแกรมใช้xdg-openเพื่อเปิดลิงค์และคุณไม่สามารถไปยังหน้าที่คุณต้องการหรือแม้แต่ดูว่าเปิดอะไรอยู่


แม้ว่าคำถามนี้ใช้สำหรับ Chromium แต่อาจใช้ได้กับ Firefox หากเป็นปัญหาเดียวกัน
Léo Lam

คำตอบ:


17

ปัญหานี้xdg-openไม่ได้ส่งผ่าน URL ที่ร้องขอไปยัง Chromium ดังนั้นแทนที่จะเรียกใช้chromium-browser url-hereมันกำลังดำเนินการchromium-browserซึ่งเพิ่งเปิดหน้าต่างใหม่

หลังจากการค้นหาบนอินเทอร์เน็ตที่ฉันพบว่าxdg-openการใช้งานบาง "การตั้งค่า" /usr/share/applicationsที่ตั้งอยู่ในไฟล์

/usr/share/applications/chromium-browser.desktop ดูเหมือนจะถูกต้องเนื่องจากมีการกำหนดค่าให้ส่ง URL ไปยัง Chromium อย่างถูกต้อง:

$ grep Exec /usr/share/applications/chromium-browser.desktop
Exec=chromium-browser %U
...

แล้วมีอะไรผิดปกติ? ปรากฎว่ามีสถานที่อีกความหมายและที่มีความสำคัญมากกว่าxdg-open/usr/share/applications

$ grep Exec ~/.local/share/applications/chromium-browser.desktop
Exec=/usr/lib/chromium-browser/chromium-browser --use-system-title-bar --ppapi-flash-path=/usr/lib/pepflashplugin-installer/libpepflashplayer.so --ppapi-flash-version=14.0.0.125

ฉันไม่รู้ว่าทำไมถึงมีอีก chromium-browser.desktop แต่โปรดทราบว่าบรรทัด Exec นี้ไม่ผ่าน URL; %Uมันจะหายไป ดังนั้นฉันจึงต่อท้าย%Uบรรทัดนี้ สิ่งนี้จะแก้ไขปัญหาทั้งหมดที่มีกับxdg-openและ Chromium ทันที


! เหลือเชื่อ ฉันตีหัวของฉันกับกำแพงอิฐเป็นเวลาหลายสัปดาห์ในหนึ่งนี้แทบจะไม่พบคำตอบนี้ สิ่งเดียวกันเกิดขึ้นกับgoogle-chromeแพ็คเกจ คุณคิดออกยังไง
Adaline Simonian

1
ฉันมีปัญหานี้มาเป็นเวลานานและฉันก็พบสาเหตุเมื่อฉันอ่านเกี่ยวกับ.desktopไฟล์แอปพลิเคชัน - ฉันจำปัญหาเกี่ยวกับ Chromium และตัดสินใจที่จะตรวจสอบไฟล์และนั่นเป็นวิธีที่ฉันได้รับการแก้ไข
Léo Lam

1
ในที่สุดฉันคิดว่าปัญหาเกิดจากพริกไทยแฟลชแม้ว่าฉันจะไม่แน่ใจ ต้องดูรายการไฟล์แพ็คเกจหรือติดตั้งสคริปต์เพื่อให้แน่ใจ
Léo Lam

ขอขอบคุณสำหรับการทำงานของ Google Chrome ได้โดยการปรับปรุง ~ / .local / หุ้น / การใช้งาน / google-chrome.desktop
ลาด

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