Terminal: Ubah OS Windows untuk mendukung terminal default [defterm]

Dibuat pada 7 Mei 2019  ·  33Komentar  ·  Sumber: microsoft/terminal

Masalah ini melacak pekerjaan yang diperlukan untuk menambahkan dukungan "terminal default" ke Windows.

Ini bukan khusus terminal, tetapi Terminal Windows akan mendapat manfaat darinya.


konten asli

Pelacak bug ini dipantau oleh tim pengembangan Konsol Windows dan jenis teknis lainnya. Kami menyukai detail!

Jika Anda memiliki permintaan fitur, silakan kirim ke UserVoice .

Penting: Saat melaporkan BSOD atau masalah keamanan, JANGAN lampirkan dump memori, log, atau jejak ke masalah Github . Sebagai gantinya, kirim dumps/traces ke [email protected] , dengan merujuk masalah GitHub ini.

Silakan gunakan formulir ini dan jelaskan masalah Anda, dengan singkat tetapi tepat, dengan sedetail mungkin

  • Nomor build Windows Anda: Microsoft Windows [Version 10.0.18885.1001]

  • Apa yang Anda lakukan dan apa yang terjadi: Saat saya mengetik start dalam sesi prompt perintah di Terminal Windows, jendela prompt perintah baru akan terbuka di jendela conhost baru.

  • Apa yang salah / apa yang seharusnya terjadi: Prompt perintah baru akan terbuka di tab baru di jendela Terminal yang ada.

Area-Server Issue-Feature Product-Conhost Work-Item

Komentar yang paling membantu

Ini adalah dengan desain.

Kami memiliki rencana untuk mendukung pengaturan aplikasi lain sebagai "terminal default" pada Windows, tetapi rencana tersebut masih sangat kasar dan sedang dikerjakan.

Semua 33 komentar

Ini adalah dengan desain.

Kami memiliki rencana untuk mendukung pengaturan aplikasi lain sebagai "terminal default" pada Windows, tetapi rencana tersebut masih sangat kasar dan sedang dikerjakan.

Ini akan membutuhkan fitur OS. Saya memperbarui judul untuk mewakili perubahan OS terminal default.

Saya mengganti nama ini untuk menambahkan kata kunci [defterm] di akhir sehingga kami dapat menemukannya dengan mudah dalam pencarian. Kata-kata "default" dan, yah, "terminal" sering muncul di repositori ini. :senyum:

Saya ingin tahu bagaimana ConEmu melakukan ini. Setelah diinstal, setiap jendela cmd/ps/bash baru terbuka di ConEmu sebagai tab baru

Saya ingin tahu bagaimana ConEmu melakukan ini. Setelah diinstal, setiap jendela cmd/ps/bash baru terbuka di ConEmu sebagai tab baru

Sama di sini, tidak yakin bagaimana tapi mudah-mudahan Windows akan diperbarui untuk mendukung terminal sepenuhnya.

Saya ingin tahu bagaimana ConEmu melakukan ini. Setelah diinstal, setiap jendela cmd/ps/bash baru terbuka di ConEmu sebagai tab baru

ConEmu mungkin (ab) menggunakan kemampuan untuk menyetel debugger khusus untuk suatu proses. Saya percaya Process Explorer melakukan hal yang sama untuk "mengganti" Task Manager

Process Hacker juga mendukung “mengganti” Task Manager .

Saya ingin tahu bagaimana ConEmu melakukan ini. Setelah diinstal, setiap jendela cmd/ps/bash baru terbuka di ConEmu sebagai tab baru

ConEmu mungkin (ab) menggunakan kemampuan untuk menyetel debugger khusus untuk suatu proses. Saya percaya Process Explorer melakukan hal yang sama untuk "mengganti" Task Manager

AFAIR, itu hanya mengubah kunci registri.

Apapun, ConEmu berhasil melakukan ini, jadi MST juga harus melakukannya.

ConEmu menyuntikkan kait (DLL) ke dalam proses tertentu (seperti explorer.exe atau devenv.exe) untuk mencegat pembuatan jendela konsol baru di bawah proses tersebut. Anda dapat membaca lebih lanjut tentang ini di dokumen resmi: https://conemu.github.io/en/DefaultTerminal.html

Seperti yang disebutkan dalam tautan itu, metode ini murni _hack_. Ini jelas bukan solusi yang layak untuk Terminal Windows.

Tapi… berhasil. Memiliki akses ke seluruh subsistem menyederhanakan sesuatu.

Perbedaannya adalah Terminal Windows adalah produk resmi Microsoft , jadi harapannya di sini adalah terminal default tidak akan diubah menggunakan peretasan jelek yang dapat digunakan, tetapi didukung secara asli oleh Windows .

Saya tidak tahu apakah ini tempat yang tepat untuk menyebutkan ini, tetapi saya merasa itu mungkin relevan.

Untuk beberapa alasan saat ini, cmd dan powershell, tampaknya memiliki ukuran font dan ukuran jendela yang sangat besar tergantung pada bagaimana dan dari mana mereka diluncurkan. Dari start menu, via explorer, via Win + R, dll.

Ketika terminal baru menjadi default, apakah itu:

  1. Memiliki ukuran font dan ukuran jendela yang konsisten?
  2. Juga menjadi terminal default dari melakukan "Buka jendela Poweshell di sini" dll?

Berikut adalah beberapa contoh untuk menunjukkan apa yang saya maksud.

Secara berurutan, diluncurkan dari pintasan bilah tugas, diluncurkan dari "Buka jendela Powershell di sini", diluncurkan dari mengetik "powershell" di input alamat File Explorer (perhatikan bagaimana prompt default tampaknya juga berbeda).

image

Alangkah baiknya jika Terminal menyatukan semua ini. Ini cukup membuat frustrasi.

@lloydjatkinson terima kasih! Ini hanya sedikit tepat di sini, tetapi cukup untuk mengatakan bahwa:

  • Konsol memiliki tiga (!) (setengah) tempat berbeda untuk membaca pengaturan
  • Terminal hanya memiliki satu (setengah)

Untuk menjawab poin bernomor spesifik Anda:

  1. Ya, benar-benar, karena hanya ada satu sumber kebenaran untuk pengaturan.
  2. Ya, itulah yang dilacak oleh fitur ini. Mengarahkan ke Terminal setiap kali jendela konsol diluncurkan untuk penggunaan interaktif.

Prompt default sepertinya menunjukkan bahwa Anda berada di direktori yang berbeda. Memulai powershell dari bilah alamat di explorer melakukannya di direktori apa pun yang sedang Anda lihat.

Tim yang terhormat, apakah ini masih sangat tertunda? Sekarang dengan dirilisnya Powershell7, hal itu meningkatkan permintaan untuk memiliki akses yang lebih mudah ke terminal modern yang mampu menangani Powershell yang benar.

1421 hanya membuka PS5.1 saat ini dan tidak ada opsi resmi untuk mengubahnya

Saya telah berbicara dengan Steve Lee di twitter dan tentu saja akan bermanfaat untuk mempromosikan penggunaan kedua produk Terminal dan Powershell pada rilis terbaru / rilis orang dalam klien Windows 10.

@Karl-WE kami mengeluarkan v1 sebelum kami mulai melihat perubahan yang diperlukan untuk Windows untuk mendukung pendaftaran, enumerasi, dan eksekusi host konsol alternatif (atau terminal yang akan menggunakannya)

Karena ini mungkin memerlukan beberapa dukungan API, ini mungkin hanya dapat dilakukan sebagai bagian dari rilis Windows yang besar.

Terima kasih Dustin atas pekerjaan luar biasa Anda di sini. Semoga usaha antar tim ini bisa dikomunikasikan dengan Tim Insider dan Powershell, Semoga sukses dengan jadwal rilis 1.0. mungkin kita bisa mencapai ini untuk 20H2 yang membuat semua orang terlibat setidaknya 9 bulan.

Saya harap ini ditambahkan lebih cepat daripada nanti, apakah ada solusi tidak resmi yang berfungsi?

Yakinlah bahwa masalah ini akan memiliki ratusan komentar komunitas yang membuat segala macam solusi gila jika ada;)

Saya punya ide untuk beberapa file bat dasar:
jalankan file bat Anda di latar belakang dan kemudian tutup jendela cmd default

START /B  wt cmd /c yourfile.bat
exit

Yakinlah bahwa masalah ini akan memiliki ratusan komentar komunitas yang membuat segala macam solusi gila jika ada;)

Saya telah memulai cmd (dan sekarang powershell ) dari Win+R selama beberapa dekade, tetapi saya dengan susah payah melatih kembali diri saya untuk mengetik wt sebagai gantinya. Saya kira Anda bisa mengajari seekor anjing tua trik baru. Perlahan-lahan. 😁

Ini berfungsi berkat alias eksekusi aplikasi wt.exe di %userprofile%\AppDataLocalMicrosoftWindowsApps

Hai tim, pengguna, karena wt sekarang memiliki serangkaian opsi yang sangat baik dan pengaturan preset json dan bagian yang dapat ditentukan pengguna yang juga mencakup pengaturan, konsol mana yang merupakan konsol default yang akan dibuka saat meluncurkan wt - saya pikir itu akan cukup untuk ambil semua rencana kasar (https://github.com/microsoft/terminal/issues/492#issuecomment-490092382) untuk mengambil setidaknya upaya berikut:

Integrasi Win+X.

Bagaimana saya _think_ Anda dapat mencapai ini:

  • terhubung dengan Jennifer Gentlemen dan tim untuk pengaturan
  • tambahkan item pengaturan baru yang dapat mengganti atau memperbarui pengaturan berikut untuk meluncurkan wt alih-alih PowerShell atau cmd
  • perbarui file ADMX yang sesuai sehingga dapat diatur melalui GPO juga
  • peringatan: wt perlu diinstal oleh pengguna

  • pengguna dapat menggunakan opsi konsol default untuk menentukan mana yang akan dibuka secara default dari sana

Suka
"profiles": [ "defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}" { "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}", "hidden": false, "name": "PowerShell 7", "source": "Windows.Terminal.PowershellCore", "useAcrylic": true }, ],

Pengaturan > Personalisasi > Bilah Tugas

"ganti Win+X cmd dengan PowerShell"

replace-command-prompt

Mungkin ini adalah sudut pandang pengguna yang naif, namun saya tidak dapat membayangkan bahwa mungkin untuk beralih cmd ke Powershell pada titik ini selama bertahun-tahun sekarang, tetapi tidak membuat langkah kecil ke depan untuk mengganti kedua item ini lagi dengan wt. Dan ya masuk akal dengan cara ini memiliki wt dengan dan tanpa hak admin, sesuai default itu juga tidak dinaikkan seperti setiap konsol lainnya (dengan beberapa pengecualian)

show-windows-powershell

Bisakah Anda menjelaskan mengapa ini begitu banyak pekerjaan yang harus dilakukan? Ini akan menjadi awal.

Memiliki pilihan aplikasi terminal default di Pengaturan> Aplikasi dan Fitur> Aplikasi default - Saya dapat memahami ini membutuhkan lebih banyak pekerjaan di bawah tenda. Saya memeriksa ulang dengan NirSoft ShellExView bahwa ini tidak dapat dicapai dengan mudah saat ini.

Namun mengubah pengaturan Win + X yang disebutkan di atas sudah menjadi sesuatu yang ada.
Harap diingat bahwa bahkan ada alat pihak ke-3 yang dapat mengubah menu Win+X sesuai keinginan siapa pun, tetapi sumber unduhan yang saat ini lebih saya nilai tidak tepercaya.

Anda dapat menemukan alat ini di sini tetapi gunakan dengan risiko Anda sendiri
Win+X Menu Editor
Dibuat oleh Sergey "Happy Bulldozer" Tkachenko
http://winaero.com
Perangkat lunak ini menggunakan kode sumber alat hashlnk
hashlnk dibuat oleh Rafael Rivera
http://www.withinwindows.com/

Semoga saya diizinkan untuk memposting referensi ini jika tidak, silakan hapus. Jika saya dapat mengunggah aplikasi sebagai zip atau Onedrive, beri tahu saya. Tidak ada petunjuk bahwa itu tidak diperbolehkan untuk mencerminkannya di tempat lain.

id Saya sudah mencoba sendiri untuk Menambahkan wt ke grup baru di menu Win+X tetapi untuk beberapa alasan yang tidak jelas gagal melakukannya. Izin tampaknya benar. Saya dapat menambahkan file apa pun sebagai tautan kecuali hal-hal dari
%localappdata%MicrosoftWindowsApps (bahkan dengan path lengkap).

wt

Saya ingin tahu apa yang mencegah ini dengan desain. Sepertinya karena aplikasi ada file berukuran 0 kb dan semacam symlink? Di Pengelola Tugas Anda juga tidak dapat "membuka lokasi" proses wt. Saya menduga ini adalah sifat dari virtualisasi aplikasi aplikasi MS. Juga berlaku untuk yang lain seperti Edge Chromium, notepadS dll.

Dengan informasi dan keadaan ini, saya sekarang mungkin memahami mengapa begitu sulit untuk mencapai perubahan ini. Anda tidak dapat mengaksesnya dari explorer, tetapi Anda dapat meluncurkannya dari Win+R / search. Betapa anehnya.

Anda tidak dapat menambahkan wt.exe secara langsung, karena ini bukan "file asli", tetapi jika Anda membuat pintasan ke wt.exe, alat akan dapat menambahkannya dan itu akan berfungsi dengan baik.

Anda dapat membaca lebih lanjut di sini: https://www.hanselman.com/blog/TotallyUnsupportedHacksAddWindowsTerminalToTheWinXShortcutMenu.aspx

Jika saya memahami fungsi WinX dengan benar, Windows tidak melakukan tautan berdasarkan jalur saja, mungkin untuk mencegah spoofing tetapi juga menghasilkan hash file. Karena semua "aplikasi" memiliki ukuran file nol, "tidak dapat dibuka" mungkin karena tidak dapat menghasilkan hash, mungkin bukan karena tidak dapat mengakses/membacanya.

Terima kasih atas referensinya thlac @shanselman ini membuat lebih sulit untuk memahami mengapa tidak ada cara resmi. Ofc memiliki jalan pintas ke file menghadapkan risiko gangguan itu, apa yang tampaknya bertentangan dengan ide desain asli WinX tidak mudah dirusak.
Risikonya adalah PUA/malware bisa mengubah target di menu ini.

@Karl-WE Hanya ingin memastikan semua orang ada di halaman yang sama di sini. Terminal Windows adalah aplikasi terminal/konsol - bukan shell . Cmd dan PowerShell adalah shell . (Lihat juga: https://www.hanselman.com/blog/WhatsTheDifferenceBetweenAConsoleATerminalAndASHell.aspx )

Jadi pengaturan Win+X (IMHO) tidak relevan untuk masalah ini (karena hanya menentukan shell, bukan aplikasi terminal).

Saya mengerti definisi Anda. Pada akhirnya, mengingat banyak permintaan yang sama, WinX memang membantu membuat Terminal Windows

  • lebih menonjol, yang hanya dapat membantu keberhasilannya dan menyebar dan pada akhirnya menghormati pekerjaan yang dihabiskan.

  • membantu pengguna untuk membuat shell default favorit mereka lebih mudah diakses.
    Yang mungkin bukan cmd atau PoSh 5.1 yang dapat dikonfigurasi saat ini.

Melihatnya dalam hal ini, saya masih setuju dengan perbedaan yang Anda catat tetapi pada akhirnya tujuannya adalah untuk membantu membuat shell lebih mudah diakses sambil memiliki fitur terminal yang lebih baik dibandingkan dengan konsol default .

@ nu8 Anda mungkin akan setuju bahwa "mengganti conhost sistem Anda dengan versi conhost yang dibuat dari repositori ini" dan "membuat Windows meluncurkan instance Terminal secara otomatis" adalah hal yang sangat berbeda;)

Repositori ini menampung host konsol _dan_ Terminal. Yang satu dibangun di atas yang lain, tetapi mereka tentu saja tidak sama.

@nu8 mengingat banyaknya hal yang harus ditinjau oleh @DHowett dan terkadang ada perbedaan. Seperti yang Anda kutip, jelas bahwa 492 dalam garis waktu datang sebelum 1817 dan banyak hal dapat berubah.
akan lebih menjengkelkan jika dia mempostingnya sebaliknya. Tapi bagaimanapun:

kabar baiknya adalah: itu sesuai jadwal, tidak lagi di backlog

melihat

1 | Terminal bawaan | Jika aplikasi baris perintah muncul, itu harus terbuka di Terminal Windows (jika diinstal) atau terminal pilihan Anda
Masalah: #492
Spesifikasi: #2080

sumber: https://github.com/microsoft/terminal/blob/master/doc/terminal-v2-roadmap.md

@DHowett terima kasih atas pekerjaan Anda di sini, saya punya pertanyaan kecil:
Apakah menurut Anda kami dapat mengharapkan ini untuk diluncurkan dalam pembaruan windows 20h2 atau 21h1? Apakah Anda mengetahui ada pekerjaan internal (pada level OS) yang mengarah ke arah ini?
Saya mengerti bahwa rencana dapat berubah, tetapi saya masih penasaran :)

Kami adalah tim yang harus melakukan pekerjaan tingkat OS untuk mengaktifkan fitur ini, jadi saya akan sangat terkejut jika kami _tidak_ mengetahui pekerjaan yang sedang dilakukan untuk mengaktifkan ini.

Kami masih baru saja melewati rilis 1.0 dari Terminal, jadi kami belum benar-benar memulainya. Saya akan mengatakan itu tidak mungkin mendarat di 20H2 atau 21H1, mengingat kami mungkin harus menyelesaikan fitur (atau setidaknya prototipe) sekarang untuk memasukkannya ke salah satu dari rilis tersebut.

saya ingin tahu apa yang akan didahulukan - pengaturan defterm atau dukungan akselerasi GPU penuh di WSL2, pada titik mana kami hanya dapat menggunakan terminal linux asli, setidaknya untuk pengembangan yang dapat divirtualisasikan

Karena masalah ini memiliki begitu banyak pelanggan, saya akan menguncinya.
Jika Anda memiliki sesuatu untuk disumbangkan yang akan memengaruhi arahan teknik untuk fitur ini, silakan kirim email kepada saya di alamat di profil GitHub saya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat