उसी निर्देशिका में Xmonad खुला टर्मिनल


6

क्या सक्रिय निर्देशिका के रूप में एक ही निर्देशिका में Xmonad को एक नया टर्मिनल खोलना संभव है (यदि सक्रिय विंडो एक टर्मिनल है या vim में चलने जैसा कोई प्रोग्राम है)? जैसा कि है, मेरे सभी टर्मिनल खुले हैं $HOME। यह मेरे लिए कोई फर्क नहीं पड़ता अगर ऐसा होता है अगर मैं एक अलग कार्यक्षेत्र में एक नया टर्मिनल खोलता हूं। यह एक बहुत बड़ा उत्पादकता लाभ होगा क्योंकि अन्यथा मुझे cdजिस निर्देशिका में काम करना है, उसके लिए सभी तरह से करना होगा ।

यदि यह सीधे Xmonad का उपयोग करना संभव नहीं है, तो मुझे इसके वैकल्पिक समाधानों में दिलचस्पी है। केवल एक चीज जो मैं सोच सकता हूं, वह है कि वर्तमान निर्देशिका को एक फ़ाइल में लिखने के लिए PROMPT_COMMAND को अधिभारित करना और .bashrcइस फ़ाइल पर मेरी नज़र रखना कि यह निर्धारित करना है कि कहाँ जाना है। लेकिन यह एक बहुत ही अपूर्ण समाधान है जो कई मामलों के लिए काम करेगा, लेकिन एक अच्छे बहुमत को गलत बना देगा।


निर्भर करता है कि आप किस टर्मिनल का उपयोग कर रहे हैं?
राबर्ट मासियोली

Urxvt थोड़ा मुश्किल है लेकिन यह सुविधा सीधे गनोम टर्मिनल में बनाई गई है।
रॉबर्ट मस्सियोली

जवाबों:


2

मैं चूक के साथ ज्यादा खिलवाड़ नहीं किया है और ctrl+shift+nयह मेरे लिए है।


हालांकि ऐसा करने के लिए मैंने अपने टर्मिनल के नियंत्रणों का उपयोग नहीं किया है (एक्स-मोनाड के नियंत्रणों के विपरीत)। यह मेरे लिए काम करता है।
थॉमस एडिंग

2

यह वास्तव में आपके सवाल का जवाब नहीं देता है, लेकिन मेरे पास एक विकल्प है जो आपके समय को बचा सकता है और आपकी समस्या को हल कर सकता है: ऑटोजंप

यह एक सॉफ्टवेयर है जो टर्मिनल में फ़ोल्डरों के बीच नेविगेट करते समय आपकी आदतों को बचाता है। हर बार जब आप cdकिसी फ़ोल्डर में होते हैं, तो यह संबंधित संभावना को बढ़ाता है। मेरे सिस्टम पर उदाहरण के लिए यह अब कुछ इस तरह है:

343368.3820292514   /home/fb
66.1004508305352    /home/fb/documents
65.2439790325514    /home/fb/workspace/MyProject
55.78935025659235   /very/long/path/boring/to/join/Folder
51.78935025659235   /home/fb/master-thesis
49.150383518340945  /usr/share/opencv
43.1282216187962    /home/fb/.dotvim
...

फिर बाद में, जब आप किसी फ़ोल्डर में जाना चाहते हैं, तो आप केवल नाम का एक हिस्सा दे सकते हैं और यह सबसे संभावित फ़ोल्डर में जाएगा जो मेल खाता है। आमतौर पर कमांड jको ऑटोजंप के साथ जोड़ा जाता है। उदाहरण के लिए आपके मामले में उपयोग निम्नानुसार होगा।

  1. एक टर्मिनल खोलें
  2. (पहली बार केवल) cdफ़ोल्डर के साथ जाओ/very/long/path/boring/to/join/Folder
  3. कुछ काम करो
  4. बाद में, जब आपको दूसरे टर्मिनल की आवश्यकता होती है, तो एक नया खोलें
  5. दर्ज करने j fol<ENTER>से आपका सीधे संपर्क हो जाएगा/home/fb/very/long/path/boring/to/join/Folder

बेशक यह केवल काम करता है यदि आप जिस फ़ोल्डर में शामिल होना चाहते हैं वह एक फ़ोल्डर है जहां आप अक्सर जाते हैं।


यह एक शांत उपयोगिता की तरह लगता है। मैं यह देखना चाहता हूं कि क्या कोई उपयोगिता है जो एक निर्देशिका को धक्का देती है जिसे आप बाद में पॉप कर सकते हैं ... या यदि नहीं, तो खुद बनाएं: pwd > ~/poo->cd `cat ~/poo`
थॉमस ईडिंग

2
बस पूछें: pushdऔर popd;-)
स्ट्रीककोबरा

इसके अलावा दो फ़ोल्डरों के बीच जल्दी से स्विच करने के लिए cd -:। एक सामान्य वर्कफ़्लो है cd my/directory/one, तब तक उस पर काम करें जब तक कि एक और फ़ोल्डर की आवश्यकता न हो cd /etc/httpd/:। फिर पिछले एक पर वापस जाने के लिए: cd -पिछली के रूप में वर्तमान निर्देशिका को क्या चिह्नित करें, जिससे cd -इसे वापस स्विच किया जा सके।
स्ट्रीककोबरा

1

मैंने अपनी निर्देशिका को प्रति कार्यक्षेत्र के आधार पर निर्धारित किया है। फिर उस कार्यक्षेत्र में मेरे द्वारा खोले गए सभी टर्मिनल उस निर्देशिका में खुलते हैं। यह कार्यस्थान एक्सटेंशन का उपयोग करके किया गया है: http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Layout-WorkspaceDir.html

मूल रूप से मैं changeDir के लिए एक कुंजी बाध्य करता हूं। जब मैं उस कुंजी को दबाता हूं, तो एक पॉप अप आता है जो आपको निर्देशिका को सेट करने की अनुमति देता है (काम पूरा होने के साथ)।


0

यदि आप वर्तमान विंडो में चल रहे शेल के पीआईडी ​​प्राप्त कर सकते हैं तो आप निष्पादन urxvt -cd $(readlink /proc/$PID/cwd)(या अलग टर्मिनल के लिए कुछ समान) जैसा कुछ कर सकते हैं । हालांकि एक्सनॉनड में वर्तमान विंडो के बारे में जानकारी नहीं है।


-1

आप PID के लिए X विंडो आईडी का उपयोग withWindowSetऔर क्वेरी कर सकते हैं xprop, जिसमें से CWD निकालने के लिए।

मैं कुछ समय से (सफलता के साथ) इस दृष्टिकोण का उपयोग कर रहा हूं , लिनक्स मशीन पर। यह सबसे यूनिक्स की तरह काम करना चाहिए जैसे OSes ने आपको PWD से CWD निकालने के लिए अपना तर्क दिया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.