साइलेंस GUI प्रोग्राम का टर्मिनल आउटपुट


4

मैं एक .sh फ़ाइल को vim में खोलने के लिए एक zsh फ़ंक्शन चला रहा हूँ, जबकि इसकी संबंधित .pdf फ़ाइल को evince में खोल रहा हूँ। मैं वर्तमान में वर्तमान gnome- टर्मिनल विंडो में एक नया टैब खोलने के लिए xdotool का उपयोग कर रहा हूं, और फिर उस टैब में vim निष्पादित कर रहा हूं। मैं मौजूदा विंडो में कमांड लाइन आउटपुट ऑफ एवन और ओपन विम को मौन करूंगा।

दुर्भाग्य से, एक मानक रीडायरेक्ट के साथ evince name.pdf &> /dev/null, जैसे कि एविएशन ग्राफिक रूप से नहीं खुलता है। क्या मैं उस टर्मिनल में अपने मानक आउटपुट / त्रुटि के बिना एक टर्मिनल से GUI प्रोग्राम चला सकता हूं?

समारोह नीचे है:

edittex () { 
    # open a new terminal tab in current terminal
    WID=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"| awk '{print $5}')
    xdotool windowfocus $WID
    xdotool key ctrl+shift+t
    wmctrl -i -a $WID
    # open vim in the new terminal tab
    xdotool type "vim $@.tex"
    xdotool key KP_Enter 
    # open evince in old terminal tab
    evince "$@.pdf" 
}

उपयोग: edittex filename.pdf और .ex फ़ाइलों को संभालने का नाम फ़ाइल नाम। Pdf और filename.tex रखा गया है।


2
evince filename &> /dev/nullमेरे लिए Zsh में काम करता है। मुझे लगता है कि समस्या वास्तव में एक और है।
कोस

जवाबों:


5

केवल उसी चीज़ को विकसित करने के लिए जिसे आप निर्दिष्ट करना चाहते हैं, उसे पृष्ठभूमि में भेजने /dev/null और भेजने के लिए पुनर्निर्देशित करें:

evince name.pdf 2> /dev/null &

कहाँ पे :

  • evince name.pdf 2> केवल त्रुटियों के आउटपुट को पुनर्निर्देशित करता है
  • /dev/nullnullडिवाइस को आउटपुट रीडायरेक्ट करता है
  • & यह पृष्ठभूमि के लिए कार्यक्रम भेजता है
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.