現: 2024-05-01 (水) 10:16:58 yuji ソース
Line 1: Line 1:
 +* Windowsで使えるターミナルとシェル [#j13aefde]
 +Windowsで使えるターミナルとシェルについて説明する。
 +Windowsでも意外と選択肢は多い。ターミナルとシェルの組み合わせで,自分好みの環境を構築出来る。
 +
 +** ターミナルとは [#m8888400]
 +ターミナル,ターミナルエミュレータ,端末エミュレータ,コンソール,などと呼ばれているもの。~
 +Windowsのコマンドプロンプトもこの部類に入るツール。
 +
 +テキストのみの画面の見た目やキーボードでの操作を行っている部分がターミナル。~
 +ターミナルだけでは何も出来なくて,シェルと一緒に動作するようになっている。
 +
 +代表的なターミナルには,以下のようなものがある。
 +- [[xterm(X Window)>https://ja.wikipedia.org/wiki/Xterm]]~
 +- [[rxvt(X Window)>https://ja.wikipedia.org/wiki/Rxvt]]~
 +- [[GNOME-terminal(GNOME)>https://ja.wikipedia.org/wiki/GNOME_%E7%AB%AF%E6%9C%AB]]~
 +- [[Konsole(KDE)>https://ja.wikipedia.org/wiki/Konsole]]~
 +- [[Terminal(Mac)>https://ja.wikipedia.org/wiki/%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB_(macOS)]]~
 +- iTerm2(Mac)~
 +- Win32コンソール(Windows)~
 +- [[mintty(Windows)>https://ja.wikipedia.org/wiki/Mintty]]~
 +- [[PuTTY(Windows)>https://ja.wikipedia.org/wiki/PuTTY]]~
 +- [[Tera Term(Windows)>https://ja.wikipedia.org/wiki/Tera_Term]]~
 +- [[Windows Terminal>https://ja.wikipedia.org/wiki/Windows_Terminal]]~
 +
 +** シェルとは [#x1a28f25]
 +シェル(Shell)は,OSとユーザーとのインターフェースを担うソフトウェアのこと。~
 +特にコマンドラインタイプのようなインタプリタのインターフェースを持つものをシェルと言っている。
 +
 +シェルを使って,他のアプリを起動させたり,終了させたり,入出力をリダイレクトさせたり,バッチファイルを実行したりする操作を行うことが出来る。
 +
 +代表的なシェルには,以下のようなものがある。
 +- [[bash>https://ja.wikipedia.org/wiki/Bash]]~
 +- [[zsh>https://ja.wikipedia.org/wiki/Z_Shell]]~
 +- [[csh>https://ja.wikipedia.org/wiki/C_Shell]]~
 +- [[cmd.exe(Windows)>https://ja.wikipedia.org/wiki/Cmd.exe]]~
 +- [[PowerShell(Windows)>https://ja.wikipedia.org/wiki/PowerShell]]~
 +
 +** Windowsで使えるターミナル環境 [#f644401f]
 +
 +*** mintty [#tb46486a]
 +MSYS/MSYS2,Cygwin,PuTTYなんかで使われている。~
 +以下のような特徴がある。~
 +- xtermと互換性がある。~
 +- 256色(8bit),TrueColor(16bit)をサポート。~
 +- UTF-8をサポート。~
 +- Windows IMEをサポートしている。多バイト文字を使える。~
 +- 画像が表示できる。~
 +- フルスクリーンになる。~
 +- コピペがわりと簡単。~
 +- テキストやファイル,フォルダのドラッグ&ドロップに対応。~
 +- Ctrl+clickでURLを開ける。~
 +- 背景を透過できる。~
 +- レジストリを使わない。~
 +
 +動作が軽いのが良い。まあ,とりあえずこれを使っておけばいいのかもしれない。
 +
 +minttyでタブ機能が必要な場合は,tmuxを導入すれば可能になる。
 +
 +*** ConEmu [#df337bd4]
 +いろいろな設定ができ,かなり自由度が高い。タブが使えて複数ターミナルを切り替えながら使用できる。
 +
 +*** cmder [#g6af12e7]
 +ConEmu(ターミナル)とclink(シェル)とGit for Windows(各種コマンド)が入っているパッケージ。~
 +最低限の機能のmini版と,各種コマンドを含んだfull版がある。~
 +- タブが使える。~
 +- タブの入力をロックできる。~
 +- 履歴を検索できる。~
 +- aliasを設定できる。~
 +- Monokaiカラー対応。~
 +- PowerShellモードがある。~
 +
 +*** ConsoleZ [#u38c75b9]
 +Console2の後継アプリケーション。~
 +ConEmuは,設定がいっぱいあってよくわからんと思った人には,ConsoleZがオススメ。見た目も操作も手軽。
 +
 +*** ckw-mod [#k1f73d76]
 +ckwの後継アプリケーション。日本人が開発しているので日本語の扱いはバッチリ。なんだけど,Unicodeには未対応。~
 +背景画像設定,透過,シェル指定と,やりたいことは一通り出来る。
 +
 +*** Hyper [#r08dd6c4]
 +Electron製のターミナル。HTML5とJavaScriptで拡張できる。日本語には未対応。x86版も無い。
 +
 +*** Qonsole [#w6092aee]
 +Quake(ゲームじゃん)ライクなターミナル。~
 +ショートカットキーで,スライド表示される。シェルの指定も可能。
 +
 +*** MobaXterm [#n2ad4700]
 +どちらかというとSSHクライアントみたいだが,bashが使える。~
 +BusyBoxベースで,Cygwinとの連携とも可能になっていて,かなり高機能なターミナル。
 +
 +*** MobaXterm [#q41e6d59]
 +Windowsでのcygwinのターミナルに代わるターミナル環境。
 +
 +*** CygTerm [#h855b50d]
 +Cygwin環境が必要。~
 +TeraTerm,PuTTY,Poderosaなどのログインシェルを指定できないSSHなターミナルを,Cygwinの環境へ接続するツール。~
 +TeraTermなどに同梱されていることが多い。TeraTermでは,メニューからFile => Cygwin connection [ALT + G]で使用できる。
 +
 +** SSH/シリアル通信クライアント [#hb4f814b]
 +SSHでリモートコンピュータに接続する時に使用するアプリケーション。~
 +- RLogin~
 +- Poderosa~
 +- TeraTerm~
 +- PuTTY(KiTTY)~
 +
 +** Windowsで使えるシェル環境 [#y269de07]
 +*** MSYS2 [#oe884ee6]
 +MSYS2は,WindowsにPosix環境を使えるようにするためのツール群。~
 +MSYS2のターミナルは,minttyが標準で使われていて,シェルはbashになっている。MSYS2を導入すれば,多くのPosixコマンドが使用できるようになる。
 +
 +パッケージマネージャとしてpacmanを採用しているので,足りないコマンドがあればpacman -S [name]ですぐにインストールできる。
 +
 +*** Git for Windows [#t793899e]
 +Windowsで使用できるGitクライアントなのだが,MSYS2をベースに使っているのでPosixコマンドが使用できる。シェルのbashも含まれている。~
 +Windowsでgitを使う場合は,通常これをインストールしているはず。
 +
 +*** Cygwin [#o63b3205]
 +CygwinはWindowsでPosix環境を使用できるようにする環境。Windowsに無いPosix APIをcygwin1.dllでエミュレートして実行できる環境を構築できる。~
 +目的が,WindowsでPosix(Unix)を使えるようにするための環境。
 +
 +シェルはbashが使われている。
 +
 +*** PowerShell [#see6eadf]
 +Windows7からデフォルトで入っているシェルで,コマンドプロンプト(cmd.exe)の後継というようなツール。~
 +.NETライブラリも使えたり出来て,かなりいろいろなことが出来る。しかし,コマンド表記が独特でなかなか馴染めない。
 +
 +問題は,Windowsでしか使えないこと。(オープンソース化されて,Linuxでも使えるようになった?)
 +
 +*** Bash on Ubuntu on Windows [#x32ebf8e]
 +Windows 10のUpdateで使えるようになったWSL(Windows Subsystem for いぬx)上で動くシェルのbash。
 +bash自体はUbuntuバイナリだが,WindowsのカーネルのサブシステムでPosixをエミュレートしている。
 +
 +いろいろ制限はあるが,手軽にLinuxコマンドが使用できるようになった。
 +
 +*** BusyBox [#gdac84b1]
 +標準的なUnixコマンドを単一ファイルで提供するすごいソフト。~
 +シェルにはash(正確にはbusyboxだが)が使用できる。ashは軽量低機能が特徴のシェルで,まあ普段使いにはあまり向かない。~
 +組み込みLinuxでは,必ずと言っていいほど使われている。
 +
 +*** gow [#w223415f]
 +Gnu on Windowsのこと。多数のGNUコマンドが使える。~
 +シェルはbash。
 +
 +*** UnxUtils [#r52312ed]
 +多数のGNUコマンドが使える。インストールはzipアーカイブを解凍してパスを通すだけ。~
 +残念ながら日本語やUTF-8には未対応。
 +
 +*** clink [#fa8a5019]
 +bash風なcmd.exeの代替ソフトウェア。cmderでも使用されている。~
 +Luaで拡張できる。
 +
 +*** NYAGOS [#ode4c0c9]
 +[[Nihongo Yet Another GOing Shell>http://www.nyaos.org/index.cgi?p=NYAGOS]]のこと。珍しい日本人開発のシェル。~
 +Luaで拡張できる。
 +
 +** その他 [#ja5e12f1]
 +環境によっては役に立つソフトのリストです。
 +
 +*** GnuWin32 [#qc7b3aeb]
 +grepやsedなどのGnuコマンドだけ必要な人は,これで良い。シェルは含まれていない。
 +
 +*** winpty [#u4a5ca18]
 +minttyを使うと,Windowsでは対話型コマンドがうまく動作しなくなる。~
 +sqlite3,node.js,gitなどは,minttyではうまく動かなかったり,日本語が文字化けしたりする場合がある。~
 +このような時に,winptyをかませてminttyを使うと,これらが解決する。
 +
 +*** cocot [#nb2dc9d5]
 +ttyの前に割り込んで,文字コード変換を行うツール。~
 +cocot bash,cocot ssh,cocot ping,のようにして使う。
 +
 +*** iconv [#j9651e04]
 +文字コード変換を行うツール。~
 +WindowsではSJISなのだが,PosixツールではUTF-8が標準となっているものが多い。~
 +こんな時に文字化けが発生することがあるが,S-JISとUTF-8を変換する時に使用する。
 +
 +下記のようにして使うとよい。
 + function wincmd()
 + {
 +     CMD=$1
 +     shift
 +     $CMD $* 2>&1 | iconv -f CP932 -t UTF-8
 + }
 + alias ipconfig='wincmd ipconfig'
 +
 +*** nkf [#yfe60b49]
 +iconv同様,文字コード変換を行うツール。
 +
 +** CygwinとMSYSとMinGWについて [#c61ad9be]
 +CygwinとMSYS2 + MinGWの環境がよく比較されているので、それらを簡単にまとめてみた。
 +
 +*** Cygwin [#s210aec7]
 +Windows上で完全なPosix環境を目指して作成されたソフトウェアおよびコマンド群,シェル環境。
 +
 +cygwin1.dllが,Posixシステムコールをエミュレーションしている。~
 +Posixシステムコールを利用するものは,cygwin1.dllに依存していまうという問題があるが,Linux・Unixと高い互換性がある。
 +
 +ターミナルはmintty,シェルはbash,その他に多数のコマンドが含まれている。~
 +もちろん,GCCやPerlなどもインストーラーで組み込むことができる。
 +
 +*** MSYS/MSYS2 [#kdc1f092]
 +MinGW/MinGW64を使用する時に開発環境としての多くの保管プログラムをパッケージしたソフトウェア。~
 +
 +ターミナルはmintty,シェルはbash,その他に多数のコマンドが含まれている。
 +
 +MSYS2はMSYSをフォークして改良している物。
 +
 +MSYS2ではpacmanという汎用パッケージマネージャが使用できる。MinGW/MinGW64を簡単にインストールできる。
 +
 +*** MinGW/MinGW64 [#z4fb8a82]
 +Windowsで利用できるGCC。WinAPIヘッダーやlibcなどのライブラリも含まれている。
 +
 +MinGWは32bitバイナリしか作成はできないが,MinGW64では32bit/64bitどちらのバイナリも作成できる。
 +
 +MinGW/MinGW64はGCCなので,Posix環境であるMSYS/MSYS2,Cygwinから使用できる。~
 +Cygwinで使用した場合,cygwin1.dll非依存のWindowsネイティブアプリケーションを作成することも出来る。
  

  • PC/Windows/Windowsで使えるターミナルとシェル のバックアップ差分(No. All)
    • 現: 2024-05-01 (水) 10:16:58 yuji

トップ   差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 19, today: 2, yesterday: 0