Gnome 3 SSH हैंडलर को ओवरराइड कैसे करें?


11

मैं एसएसएच लिंक पर क्लिक करने में सक्षम होना चाहता हूं जो देखने में अच्छा लगता है ssh://user@servernameऔर इसमें एक गनोम-टर्मिनल खुला है जो इसके अंदर एसएसएच चलाता है।

XDG सामान पर पढ़ने के बाद मैंने निम्नलिखित कार्य किया:

मैंने निम्नलिखित के साथ $ HOME / bin / ssh-टर्मिनल में एक शेल स्क्रिप्ट बनाई:

#!/bin/sh
dest=${1#ssh://}
gnome-terminal -e "ssh $dest" &

यह कमांड लाइन से काम करता है।

मैंने $ HOME / .Local / share / Applications / ssh-terminal.desktop के साथ बनाया:

[Desktop Entry]
Type=Application
Name=SSH Terminal
Exec=ssh-terminal %u
Icon=utilities-terminal
StartupNotify=false
MimeType=x-scheme-handler/ssh;

मैं भागा update-desktop-database ~/.local/share/applications/

अब जब मैं चलाने की कोशिश करता हूं तो मुझे xdg-open ssh://user@hostnameनिम्नलिखित त्रुटि मिलती है:

$ xdg-open ssh://buildbot@10.16.50.74
gvfs-open: sftp://buildbot@10.16.50.74/: error opening location: The specified location is not mounted

मैं इसे एक sftp माउंट के रूप में खोलना नहीं चाहता और मैं यह नहीं जान सकता कि यह कहां सेट है!

मैं यहाँ से कहाँ जाऊँ?

जवाबों:


7

.desktopफ़ाइल लिखना पर्याप्त नहीं है। आपको माइम प्रकार के लिए डिफ़ॉल्ट सेटिंग को भी बदलना होगा।

आप के साथ वर्तमान डिफ़ॉल्ट मान प्राप्त कर सकते हैं

 xdg-mime query default x-scheme-handler/ssh

और इसके साथ बदल सकते हैं

 xdg-mime default ssh-terminal.desktop x-scheme-handler/ssh

संबंधित कॉन्फ़िगरेशन फ़ाइल आपके OS संस्करण पर $HOME/.config/mimeapps.listया $HOME/.local/share/applications/mimeapps.listउसके आधार पर हो सकती है ।


देर से स्वीकार करने के बारे में क्षमा करें। यह उस समय काम नहीं आया जब मैंने सवाल पूछा था, लेकिन मैंने अभी हाल ही में कोशिश की थी और अब यह करता है। धन्यवाद।
ज़ैन लिंक्स

इस उत्कृष्ट उत्तर को अस्थायी रूप से प्रासंगिक रखने के लिए, उबंटू 18.04 एलटीएस में, संबंधित कॉन्फ़िगरेशन फ़ाइल अब है $HOME/.config/mimeapps.list। कम से कम मेरे लिए, यहां सूचीबद्ध एक ~/.local/share/applications0 बाइट्स है।
माइकल कैंपबेल

@MichaelCampbell धन्यवाद, मैंने जवाब अपडेट किया।
जोफेल

1

इसमें से किसी ने भी मेरे लिए काम नहीं किया जब तक कि मैंने निम्न फ़ाइल को संपादित नहीं किया और SchemeAliasलाइन को हटा दिया/usr/share/gvfs/mounts/sftp.mount

[Mount]
Type=sftp
Exec=/usr/lib/gvfs/gvfsd-sftp
AutoMount=false
Scheme=sftp
# SchemeAliases=ssh
DefaultPort=22
HostnameIsInetAddress=true

जो कोई भी इसका सामना करता है (मैंने किया था), आपको प्रभावी होने के लिए Gnome / Unity / Cinnamon को पुनः आरंभ करना होगा। यदि आप नहीं जानते कि कैसे, आपके कंप्यूटर को पुनः आरंभ करने की कोशिश करनी चाहिए।
.केट।।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.