लिनक्स (WSL) के लिए विंडोज सबसिस्टम का एक बेहतर टर्मिनल अनुभव?


29

लिनक्स (WSL) के लिए विंडोज सबसिस्टम का टर्मिनल काफी न्यूनतम है। मैंने विंडोज पर टर्मिनल का बहुत उपयोग नहीं किया है - मैं आमतौर पर उबंटू या ओएसएक्स का उपयोग करता हूं - लेकिन मुझे आश्चर्य है कि डिफ़ॉल्ट टर्मिनल इतना नंगे है।

क्या यह संभव है:

  1. एक Windows टर्मिनल प्रोग्राम को WSL से कनेक्ट करें या

  2. WSL से X विंडो के रूप में Ubuntu टर्मिनल प्रोग्राम लॉन्च करें?

जवाबों:


26

मैं व्यक्तिगत रूप से उत्तरार्द्ध करता हूं: कई विंडोज़ मोड में मेरे एक्स सर्वर के रूप में VcXsrv का उपयोग करें, फिर xfce4- टर्मिनल लॉन्च करें (क्योंकि गनोम-टर्मिनल में दृश्य समस्याएँ थीं जिन्हें मैंने कैसे ठीक करने के लिए सीखने की कोशिश करने की परवाह नहीं की), और अचानक फ़ॉन्ट और रंग समर्थन के साथ एक सक्षम टर्मिनल।

मैंने पाया कि मुझे इनको अपने bashrc में जोड़ने की आवश्यकता है ...

export DISPLAY="localhost:0"
export TERM=xterm-256color

क्या इस reddit से ठीक dbus के लिए:

sudo sed -i 's$<listen>.*</listen>$<listen>tcp:host=localhost,port=0</listen>$' /etc/dbus-1/session.conf

मैंने कॉम्पिज़ भी स्थापित किया है और मैं अपने xfce4- टर्मिनल शेल से विंडोज़ प्रोग्राम चलाने के लिए cbwin प्रोजेक्ट का उपयोग करता हूं।

मैं इस सेटअप से बहुत खुश हूं और NeoVim + बहुत सारे देशी लिनक्स प्लग इन का उपयोग करता हूं, भले ही मेरी "फॉर-वर्क" मशीन विंडोज होनी चाहिए। :)

बाश-ऑन-लिनक्स-ऑन-विंडोज में एक एसएसएच सर्वर शुरू करना और फिर इसे कनेक्ट करना संभव है, साइगविन की तरह मिन्टटी से कहें।

पुनश्च: लॉन्चिंग xfce4- टर्मिनल दर्द रहित और अतिरिक्त बैश cmd विंडो के बिना, मैंने एक प्रोग्राम लिखा जो कुछ भी नहीं करता है, लेकिन कंसोल विंडो के बिना xfce4-टर्मिनल शुरू करने के लिए तर्कों के साथ बैश प्रक्रिया शुरू करता है। मैंने यह C # में किया - मूल रूप से "UseShellExecute" तर्कों और "CreateNoWindow" तर्कों का उपयोग करें। मैंने फिर अपने टास्कबार को पिन किया और यह लगभग बेकार लग रहा है।

EDIT: VBScript के साथ जवाब शानदार है। यहाँ वही स्क्रिप्ट है, लेकिन एक JScript संस्करण ...

WScript.CreateObject("WScript.Shell").run('bash.exe -l -c "DISPLAY=:0.0 xfce4-terminal"', 0, false);

1
चयनित उत्तर क्योंकि इसका व्यापक और इसने मुझे stackoverflow.com/a/39188790 खोजने में मदद की ; मुझे एहसास हुआ कि MobaXterm को> 9.0 तक अपडेट करना मुझे WSL के लिए एक अच्छा टर्मिनल मिला।
डेविड लेबॉउर

अगर कोई उत्सुक है, यहाँ reddit पद के लिए लिंक है जहाँ से the "fix from reddit" for dbusहटा लिया गया था।
टेली

@tel धन्यवाद! मुझे वास्तव में नहीं पता था कि यह कहाँ से आया है और लिंक जोड़ा है ...
aikeru

यदि "दृश्य समस्या जिसे आप ठीक नहीं करते हैं" तो क्या आप निर्देशिका के संकेत का हिस्सा नहीं देख सकते हैं या इसका कारण यह है कि वे गहरे नीले हैं। वे बैंगनी सूक्ति-पृष्ठभूमि पर दिखाई नहीं दे रहे हैं। चाल फ़िरोज़ा के लिए गहरे नीले रंग को हटाने के लिए है और फिर यह ठीक काम करता है।
विनयुनुच्स

22

अन्य उत्तरों में सभी निहित चरणों का पता लगाने में थोड़ा समय लगा, इसलिए यहां एक कदम स्टेप बाय स्टेप सारांश दिया गया है:

  1. Windows पर, स्थापित VcXsrv या Xming
  2. विंडोज के लिए बैश में, टर्मिनल स्थापित करें sudo apt-get install xfce4-terminal:।
  3. export DISPLAY=:0अपने में जोड़ें .bashrc। (इसे जोड़ना .profileया .bash_profile मेरे लिए काम नहीं किया )। यह आपको xfce4-terminalबैश से ठीक से शुरू करने की अनुमति देगा , लेकिन नीचे दिए गए आदेश पर ऑर्थोगोनल है।
  4. शॉर्टकट में या रन प्रॉम्प्ट में निम्नलिखित चलाएँ (जैसा कि @OhJeez ने टिप्पणियों में सुझाया है):

    powershell -windowstyle hidden -Command "iex \"bash ~ -c 'DISPLAY=:0 xfce4-terminal'\" "
    

अन्य नोट:

  • ~शुरू होता है bashअपने घर निर्देशिका में, आप इसे में जो कुछ भी निर्देशिका शुरू करने के लिए निकाल सकते हैं .vbsफ़ाइल में है, बजाय। इसलिए इसे C:\Users\fooउदाहरण के लिए रखना सुविधाजनक है ।
  • ध्यान दें कि स्क्रिप्टिंग के काम के लिए एक्समिंग को चलना होगा; विंडोज के साथ इसे स्वचालित रूप से शुरू करने के लिए आप इस लेख में दिए गए निर्देशों का पालन कर सकते हैं ।
  • एमएसीएस 24 (उबंटू 14.04 के साथ शामिल) एक्समिंग के साथ काम नहीं करता है; मुझे इस पोस्ट में सुझाए गए नए संस्करण को स्थापित करना था ।

1
आपकी सहायता के लिए धन्यवाद। जब मैं स्क्रिप्ट चलाता हूं, तो कुछ भी नहीं लगता है (Xming सर्वर चल रहा है)। हालांकि, अगर मैं बैश खोलता हूं और चलाता हूं तो xfce4-terminalयह ठीक काम करता है। इसके अलावा, अगर मैं bash -l -c xfce4-terminalविंडोज़ cmd से चलता हूं, तो मुझे एक चेतावनी मिलती है Gtk-WARNING **: cannot open display:और कुछ नहीं होता है। मैं काफी उलझन में हूँ क्योंकि मुझे लगा कि इन आदेशों को किसी भी तरह के अनुमानों का व्यवहार करना चाहिए?
rperryng

@rperryng हाँ - मैं बीच-बीच में बदसूरत बैश कमांड प्रॉम्प्ट के बिना एक्सफ़्रेस खोलने के लिए एक-लाइनर प्राप्त करने की कोशिश कर रहा हूं, लेकिन अभी तक कोई भाग्य नहीं है।
एंड्रयू माओ

1
शॉर्टकट का उपयोग करके xfce4- टर्मिनल शुरू करने के लिए सबसे अच्छा समाधान। एक झिलमिलाहट है, लेकिन कोई खिड़की पीछे नहीं रहती है: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden -Command "iex \"bash.exe ~ -c 'DISPLAY=:0 xfce4-terminal'\" " एक और संस्करण, जो Xming शुरू करेगा अगर यह नहीं चल रहा है:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden -Command "iex '& \"C:\Program Files (x86)\Xming\Xming.exe\" -multiwindow'; iex \"bash.exe ~ -c 'DISPLAY=:0 xfce4-terminal'\" "
ओहिज

@Oheeeez अच्छा, उस आदेश की पेचीदगियों के लिए धन्यवाद।
एंड्रयू माओ

उच्च-रिज़ॉल्यूशन डिस्प्ले के लिए समाधान। यदि आपके पास 4k डिस्प्ले है, तो आपके टर्मिनल में धुंधले फोंट होंगे। इसे ठीक करने के लिए आपको निम्न की आवश्यकता होगी: 1. XML sourceforge.net/projects/vcxsrv के बजाय "VcXsrv Windows X सर्वर" का उपयोग करें। संगतता मोड में xserver चलाएँ। ऐसा करने के लिए आपको आवश्यकता होगी: सही माउस बटन के साथ VcXsrv शॉर्टकट पर क्लिक करें। "गुण" चुनें। "कम्पेटिबिलिटी" टैब पर "उच्च डीपीआई स्केलिंग व्यवहार को ओवरराइड करें ..." के खिलाफ चेकबॉक्स सेट करें और अगली ड्रॉपडाउन में "एप्लिकेशन" चुनें। 3. xfce4- टर्मिनल चलाएँ और फ़ॉन्ट सेटिंग बदलें। फ़ॉन्ट को बड़े पर बदलें।
कूर्चिक

10

मैं बनाया (और उपयोग) एक खुला स्रोत कहा जाता है लिनक्स (WSL) के लिए Windows सबसिस्टम के लिए टर्मिनल WSL टर्मिनल , यह पर आधारित है minttyऔर wslbridge

स्क्रीनशॉट


आत्म संवर्धन के साथ सावधान रहें - यह स्पैम की तरह लग सकता है। askubuntu.com/help/promotion

2
यदि आप इसे स्वीकार करते हैं तो स्व-पदोन्नति ठीक है
डेविड लेबॉयर

और आपने इसे स्वीकार नहीं किया है।
मुरु

5
और कृपया, wsl-terminalबेहतर टर्मिनल अनुभव प्रदान करने के बारे में कुछ विवरण जोड़ें ।
Cynplytholowazy

2
इसे साझा करने के लिए आपको धन्यवाद। आपका सामान पहले से ही अंतर्निहित टर्मिनल से बेहतर काम करता है - कम से कम यह कमांड लाइन पर लाइन रैपिंग से थोड़ा बेहतर तरीके से निपट सकता है। एक CTRL-A जल्दी से कमांड की शुरुआत में जाता है, हालांकि अभी भी विफल रहता है। मैं इस तरह से सामान को बढ़ावा देने वाले लोगों के साथ खुश हूं। लोगों को शांत होना चाहिए।
एडएच

5

एक ताजा उबंटू स्थापित करने पर, मैंने अभी (उबंटू में) (उबंटू में) xfce4- टर्मिनल स्थापित किया है, और मेरे बाद export DISPLAY=:0, इसने काम किया।

Windows के डिफ़ॉल्ट कंसोल से छुटकारा पाने के लिए, यह VBS स्क्रिप्ट काम करता है:

WScript.CreateObject("WScript.Shell").run "bash -l -c xfce4-terminal", 0, True

(आपके साथ $ DISPLAY सेट में .profile।)

संपादित करें: और स्क्रिप्ट को पिन करने योग्य बनाने के लिए, लक्ष्य के साथ एक शॉर्टकट बनाएं wscript "C:\path\to\thescript.vbs"


वीबीएस काम करने लगता है, हालांकि टर्मिनल विंडो ठीक बाद में खुली और बंद है। मैं इसे कैसे चालू रख सकता हूं?
TCB13

3

विंडोज पर:

  • बैश विंडो के ऊपरी बाएँ कोने पर क्लिक करें।
  • खुलने वाले मेनू में 'गुण' चुनें
  • ऐसे विकल्प सेट करें जिन्हें आप फॉन्ट आदि चाहते हैं (यहाँ तक कि उबंटू मोनो फॉन्ट भी है!)
  • गुण स्थापित करने के बाद उन्हें वर्तमान विंडो के लिए लागू किया जाएगा। उन्हें डिफ़ॉल्ट के रूप में सेट करने के लिए विंडो के ऊपरी बाएँ क्लिक करें और डिफ़ॉल्ट पर क्लिक करें।
  • पूर्ण स्क्रीन मोड को चालू करने के लिए आप Alt + Enter दबा सकते हैं।

आशा है कि ये आपकी मदद करेगा।


मैं यह कहना चाहता हूं कि उबंटू (गनोम) टर्मिनल के समान ही इसका उपयोग / उपस्थिति है, सिवाय इसके कि यह माउस समर्थन को जोड़ता है। यानी आप कॉलम हेडिंग पर क्लिक कर सकते हैंhtop
WinEunuuchs2Unix

3

ConEmu महान काम करता है! बस इसे स्थापित करें और एक नया {bash} कंसोल शुरू करें। मैं जोड़ा cd ~मेरे लिए .bashrcयह मेरे घर निर्देशिका में शुरू करने के लिए डिफ़ॉल्ट है।

अच्छी व्याख्या: https://conemu.github.io/en/BashOnWindows.html


2

एक्सट्रेटर्म सिर्फ एक टर्मिनल एमुलेटर से अधिक है। यह आपके टर्मिनल और कमांड लाइन अनुप्रयोगों के साथ काम करने के लिए एक टूलबॉक्स प्रदान करता है।

  • विशेषताएं
  • विंडोज WSL, CMD, PowerShell और Cygwin पर लिनक्स और macOS का समर्थन करता है
  • xterm संगत
  • एकाधिक टैब और पैन, आप की तरह किसी भी तरह से विभाजित और टाइल किए गए
  • टर्मिनल में चित्र दिखाएं
  • यूनिकोड समर्थन
  • रंग इमोजी
  • कीबोर्ड फ्रेंडली "कमांड पैलेट"
  • विन्यास योग्य कुंजी बाइंडिंग
  • कीबोर्ड आधारित चयन
  • शैल एकीकरण; अलग कर सकते हैं और 'फ्रेम' कमांड आउटपुट। (बैश, zsh और मछली समर्थित)
  • शेल एकीकरण का उपयोग करके आसान अपलोड और डाउनलोड
  • कमांड आउटपुट जगह पर संपादन योग्य है। मल्टी-कर्सर संपादन
  • पिछली कमांड आउटपुट का उपयोग नए कमांड के इनपुट के रूप में किया जा सकता है
  • ITerm2 और TextMate थीम का समर्थन करता है
  • पाठ ज़ूम करें

मैं अब इस टर्मिनल का उपयोग कर रहा हूं, क्योंकि इसमें वे विशेषताएं हैं जो मैं वास्तव में चाहता हूं। cmd,
पावरशेल

1

विंडोज 10 (और डब्लूएसएल) के नवीनतम अपडेट के बाद से "देशी" विंडोज़ बैश कंसोल का उपयोग करके सब कुछ काम कर रहा है। (और मैं 1809 विंडोज अपडेट के बारे में बात नहीं कर रहा हूँ)। यह कम से कम 1803 17134.345 बिल्ड के एंटरप्राइज़ संस्करण पर भी काम करता है)।

लेख देखें https://www.hanselman.com/blog/SettingUpAShinyDevelopmentEnvironmentWithinLinuxOnWindows10.aspx पर

थोड़ा चेतावनी - वास्तव में विंडोज में बैश कंसोल का उपयोग करने के लिए tmux लॉन्च करना चाहिए - और सब कुछ काम करेगा जैसा कि उनके ब्लॉग में स्कॉट द्वारा दिखाया गया है।


यह उल्लासपूर्ण है! "निष्पादित tmux" वास्तव में सभी विंडोज़ देशी "bash.exe" टर्मिनल समस्याओं (आकार परिवर्तन के बाद अजीब कट लाइनों) को हल करता है।
यवेस डोरफ्समैन

1

अधिक आधुनिक युग के लिए एक टर्मिनल https://eugeny.github.io/terminus/

टर्मिनस हाइपर से प्रेरित एक टर्मिनल है। हालांकि, यह उन लोगों के लिए डिज़ाइन किया गया है जिन्हें काम करने की ज़रूरत है।

  • विंडोज, मैकओएस और लिनक्स पर चलता है
  • रंग और रंग योजनाओं
  • पूरी तरह से विन्यास शॉर्टकट
  • पूर्ण-यूनिकोड समर्थन जिसमें डबल-चौड़ाई वाले वर्ण शामिल हैं
  • तेजी से बहने वाले आउटपुट पर चोक नहीं करता है
  • टैब पूरा करने सहित विंडोज पर उचित शेल-जैसा अनुभव (क्लिंक के माध्यम से)
  • PowerShell (+ Core), WSL (Windows पर बैश), Git-Bash, Cygwin, Cmder और CMD समर्थन
  • आपके टैब याद हैं
  • एकीकृत SSH ग्राहक और कनेक्शन प्रबंधक

1

https://hyper.is/

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

    the shell to run when spawning a new session (i.e. /usr/local/bin/fish)
    if left empty, your system's login shell will be used by default
    
    Windows
    - Make sure to use a full path if the binary name doesn't work
    - Remove `--login` in shellArgs
    
    Bash on Windows
    - Example: `C:\\Windows\\System32\\bash.exe`
    
    PowerShell on Windows
    - Example: `C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`
    shell: 'C:\\Windows\\System32\\bash.exe',enter code here
    

बहुत अच्छी थीम और प्लगइन्स

plugins: [
    //"hyper-dracula"
    //"hyper-solarized-dark"
    "hyper-material-theme"
],

इस गाइड का उपयोग करके मैं अपने WLS प्राप्त करने में सक्षम था, बहुत अच्छी तरह से काम कर रहा था।


धन्यवाद - एक दिलचस्प परियोजना की तरह लग रहा है लेकिन क्या आप सॉफ्टवेयर के बारे में अधिक कह सकते हैं और इसे WSL के लिए कैसे कॉन्फ़िगर कर सकते हैं?
डेविड लेबॉयर

1
@DavidLeBauer मुझे आशा है कि मदद करता है।
नेलारो

हाइपर सुपर स्लो है।
मिथिला

1

आज, आपको "विंडोज टर्मिनल" का उपयोग करने का सुझाव दिया गया है जो Microsoft द्वारा खुला है।

आधिकारिक निर्माण इस साल जून के मध्य में विंडोज स्टोर से प्राप्त किया जा सकता है।

लेकिन आप नीचे दिए गए पूर्वावलोकन संस्करण का उपयोग करके भी इसका अनुभव कर सकते हैं। https://github.com/yanglr/WindowsDevTools/blob/master/awosomeTerminal/WindowsTerminal_SelfSigned_x86_x64_arm64.7z

स्थापित करने के बाद, चल रहे परिणाम नीचे हैं:

pic1

pic2

pic3

pic4


0

Aikeru और n.illillou के उत्तर देने के रूप में न तो उनके VBScript / JScript समाधान ने मेरे लिए तुरंत काम किया।

Call WScript.CreateObject("WScript.Shell").Run("bash.exe -l -c 'DISPLAY=:0.0 xfce4-terminal --working-directory $HOME'", 0, True).

Callरन कमांड में कोष्ठक का उपयोग करते समय स्क्रिप्ट को पूर्वनिर्मित करने की आवश्यकता है , यहां देखें । इसके अलावा टिक्स दूसरे रास्ते के लिए आवश्यक है। इसके अलावा, xfce4- टर्मिनल के लिए एक अतिरिक्त तर्क उपयोगकर्ता के होम फ़ोल्डर में टर्मिनल शुरू करेगा। क्षमा करें यदि यह वास्तव में JScript कोड काम कर रहा था, तो मुझे इन स्क्रिप्टिंग भाषाओं के बारे में कोई पता नहीं है।

एक फ़ाइल vbscript.vbs के रूप में इसे सहेजना और एक cmd प्रॉम्प्ट द्वारा निष्पादित करना

wscript vbscript.vbs

फिर 2 सेकंड की देरी के बाद एक xfce4- टर्मिनल विंडो (एक्समिंग या एक जैसे चल रहा है) खोलता है। वास्तव में n.caillou के कार्यों द्वारा सुझाए गए शॉर्टकट को चालू करने और शॉर्टकट पर क्लिक करने से स्वचालित रूप से कुछ देरी के साथ एक नई xfce टर्मिनल विंडो दिखाई देगी।

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