ตอนนี้ Chrome ขว้างผ้ากันเปื้อนบนหัวแล้วเรียก Firefox ซึ่งเปิดลิงค์กับ rtorrent ฉันต้องทำอะไรเพื่อกำจัดขั้นตอน Firefox
/usr/bin/xdg-open
ตามที่แนะนำในคำตอบที่ยอมรับ "การเชื่อมโยงแม่เหล็ก Torrent เปิดหน้าต่างใหม่ แต่ไม่ส่ง "
ตอนนี้ Chrome ขว้างผ้ากันเปื้อนบนหัวแล้วเรียก Firefox ซึ่งเปิดลิงค์กับ rtorrent ฉันต้องทำอะไรเพื่อกำจัดขั้นตอน Firefox
/usr/bin/xdg-open
ตามที่แนะนำในคำตอบที่ยอมรับ "การเชื่อมโยงแม่เหล็ก Torrent เปิดหน้าต่างใหม่ แต่ไม่ส่ง "
คำตอบ:
การจัดการโปรโตคอล Chrome (หรือ Chromium) ทำงานแตกต่างจากใน Firefox Firefox พื้นติดตามทุกสิ่งที่ตัวเองซึ่งเป็นเหตุผลที่คุณสามารถกำหนดค่าโปรโตคอลการจัดการ (เช่นการเชื่อมโยงแม่เหล็ก) ในส่วนของการประยุกต์ใช้งานการตั้งค่า โครเมี่ยม xdg-open
แต่อาศัย
มีสองสิ่งที่คุณต้องทำก่อนxdg-open
จะจัดการกับลิงก์แม่เหล็กอย่างถูกต้อง
ค้นหาชื่อไฟล์เดสก์ท็อปของโปรแกรมที่คุณต้องการจัดการกับลิงค์แม่เหล็ก สมมติว่าโปรแกรมคือการส่ง มัน (เหมือนปกติ) มีไฟล์สก์ท็อปใน/usr/share/applications/
และในความเป็นจริงโดย perusing รายชื่อของไดเรกทอรีที่ผมพบว่ารุ่นของฉันส่งเป็นจริงรุ่น GTK transmission-gtk.desktop
ดังนั้นไฟล์สก์ท็อปของมันจะถูกเรียกว่า
อาจเป็นไปได้ว่าไฟล์เดสก์ท็อปถูกทำให้ยุ่งเหยิง ดังนั้นคุณสามารถตรวจสอบว่า/usr/share/applications/transmission-gtk.desktop
มีเส้น:
Exec=transmission-gtk %U
[some lines omitted]
MimeType=application/x-bittorrent;x-scheme-handler/magnet;
หมายเหตุ%U
ในบรรทัด Exec มันจำเป็นอย่างยิ่ง บรรทัด MimeType ควรมีลักษณะด้านบน
ตอนนี้สำหรับขั้นตอนสำคัญในการบอกxdg-open
ให้เปิดลิงก์แม่เหล็กโดยใช้ระบบส่งกำลัง ในเทอร์มินัลพิมพ์:
xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet
( ขั้นตอนไม่จำเป็นถ้าคุณใช้ Gnome, KDE, Xfce หรือ LXDE ) สุดท้ายxdg-open
ถือว่าคุณใช้หนึ่งในสภาพแวดล้อมเดสก์ท็อปมาตรฐาน: gnome, kde, xfce และ lxde หากคุณไม่ได้xdg-open
จะไม่ทำงานในการเชื่อมโยงแม่เหล็ก ตามที่แนะนำบน Arch wikiคุณสามารถแก้ไข/usr/bin/xdg-open
ได้อย่างง่ายดาย ในตอนท้ายของไฟล์คุณจะพบส่วนที่ขึ้นต้นด้วย:
detectDE
if [ x"$DE" = x"" ]; then
DE=generic
เปลี่ยนgeneric
ให้เป็นหนึ่งgnome
, kde
, หรือxfce
lxde
ฉันเลือกxfce
เนื่องจากฉันมีเซสชัน Xfce ที่ฉันได้กำหนดค่าและใช้งานในบางโอกาส
ข้อเสียของวิธีนี้คือถ้าxdg-open
ได้รับการอัปเดตคุณจะต้องทำซ้ำ The Arch wiki แนะนำวิธีการอื่นที่หลีกเลี่ยงข้อบกพร่องนี้ (แต่มีข้อเสียของตัวเอง)
คำเตือน:ตัวเลือกในขั้นตอนสุดท้ายมีความสำคัญมากกว่าที่อาจปรากฏขึ้น การเลือกlxde
ไม่ได้ผลสำหรับฉัน! ในxdg-open
ฟังก์ชั่นตัวช่วยopen_lxde
อาศัยpcmanfm
(ตัวจัดการไฟล์ lxde) และมีบางอย่างผิดปกติกับโค้ดในopen_lxde
หรืออาจเป็นpcmanfm
ความผิดพลาด
xdg-mime default deluge.desktop x-scheme-handler/magnet
เพื่อเชื่อมโยงกับ Deluge แทน
mate
ไม่ทำงาน (ซึ่งฉันคาดว่าจะได้ตั้งแต่เรียกใช้ MATE) แต่gnome
ทำ
เพียงลากลิงค์แม่เหล็กลงในหน้าต่างส่งข้อมูลและทำงานได้ดีสำหรับฉันโดยไม่ต้องมีการปรับแต่งใด ๆ .... ฉันใช้สต็อคของ Lubuntu 12.10 ไม่มีอะไรแฟนซี ....
ทำงานได้ดีมากในการเปิดแม่เหล็กจาก Chrome ด้วย qBitorrent ใน Lubuntu
xDg-mime ค่าเริ่มต้น qBittorrent.desktop x-scheme-handler / แม่เหล็ก
ถ้าคุณใช้ xfce และไม่ต้องการยุ่งอะไรคุณสามารถใช้โซลูชันของฉันได้ ฉันแก้ไขด้วยการแก้ไข xdg-open ด้วยตนเองดังนี้:
ก่อนอื่นตรวจสอบให้แน่ใจว่าคุณมี mime ที่เกี่ยวข้อง (ดังที่อธิบายไว้ก่อนหน้านี้ด้วย xdg-mime)
จากนั้นสำรองข้อมูล xdg-open เป็นรูท (sudo ถ้ามี)
# cp /usr/bin/xdg-open /usr/bin/xdg-open.old
สุดท้ายแก้ไขเป็น root / usr / bin / xdg-open ค้นหา open_xfce () และเพิ่มบรรทัดที่มีเครื่องหมาย +, เช่น, กับ nano
# nano /usr/bin/xdg-open
open_xfce()
+ if [ "\`echo $1 | sed -n 's/\(^[[:alnum:]+\.-]*\):.*$/\1/p'\`" == "magnet" ]; then
+ gnome-open "$1"
+ else
exo-open "$1"
+ fi
มันจะเพิ่มข้อยกเว้นสำหรับการเชื่อมโยงแม่เหล็กเท่านั้นดังนั้นพวกเขาจะเปิดขึ้นด้วยคำพังเพยเปิดแทน exo-open
หวังว่ามันจะช่วย
ไม่มีคำแนะนำอื่น ๆ ที่ฉันพบว่าใช้งานได้สำหรับฉัน แต่นี่เป็นการหลอกลวงภายใต้Debian / Xfce (จากhttp://fluxcode.net/archives/57 ):
ใน / usr / bin / xdg-open เพิ่มบรรทัดต่อไปนี้เพื่อ open_xfce ()
open_xfce()
{
if(echo "$1" | grep -q '^magnet:'); then
transmission-gtk "$1"
if [ $? -eq 0 ]; then
exit_success
fi
fi
exo-open "$1"
ชายใน alt.os.linux.slackware พบวิธีแก้ปัญหา:
http://www.void.gr/kargig/blog/2012/01/24/open-magnet-urls-with-xdg-open/
การใช้ gnome-open บน XFCE นั้นทำให้ฉันได้ผล
สิ่งนี้สามารถบังคับได้ด้วยการแก้ไข / usr / bin / xdg-open และเปลี่ยนแปลง
if [ x"$DE" = x"" ]; then
DE=generic
fi
ไปยัง
if [ x"$DE" = x"" ]; then
DE=generic
fi
DE=gnome
สิ่งนี้ใช้ได้กับฉันใน Ubuntu 18 กับ FF (สำหรับน้ำท่วม):
gio mime x-scheme-handler/magnet deluge.desktop
ฉันรู้ว่าไม่ตอบคำถาม แต่ฉันใช้ Chrome ด้วยและนี่เป็นการทำงานที่ดีกว่าการคัดลอกและวางลิงก์แม่เหล็ก
ฉันผสมคำตอบเล็กน้อย (น่าเสียดายที่ไม่ได้ผลสำหรับฉัน) และเกิดขึ้นกับบางสิ่งที่ทำให้มันทำงานเหมือนมีเสน่ห์! มันทำงานบน Linux Mint 16 ภายใต้ XFCE ยังไงก็ตาม
ทำการสำรองข้อมูลของ xdg-open ภายใต้ / usr / bin เปิด xdg-open ของคุณด้วย sudo จากนั้นทำฟังก์ชั่น open_xfce () ดังนี้:
open_xfce()
{
if (echo "$1" | grep -q '^magnet:'); then
gnome-open "$1"
else
exo-open "$1"
fi
}
มันสกปรกและคุณต้องแก้ไขทุกการอัพเดท xdg-open แต่เดี๋ยวก่อนมันใช้งานได้!
ฉันพยายามมานานหลายปีในการแก้ไขและเปลี่ยนไปใช้ Chrome และดูเหมือนว่าจะไม่มีอะไรทำงาน ในที่สุดฉันก็มีความคิดฉันไม่แน่ใจว่าทำไมฉันไม่เคยคิดมาก่อนและใช้งานได้ดี ฉันใช้ Tixati ในโรงกษาปณ์ แต่ควรใช้ได้ในระดับสากล Chrome ชี้ให้เห็นว่าแม่เหล็กเชื่อมโยงกับ usr / bin / transmission-gtk ดังนั้นฉันจึงเปลี่ยนชื่อเป็น transmission-gtk.old และเปลี่ยนชื่อ tixati เป็น transmission-gtk และเลือกตัวเลือกใน chrome เพื่อทำสิ่งนี้และกดเปิดแอปทันที Tixati เช่นเดียวกับ Firefox ปัญหาได้รับการแก้ไขในที่สุด!
google-chrome -version