X



【PC】マイクロソフト、Windows 10にUNIX系OSと似た擬似コンソール実装

■ このスレッドは過去ログ倉庫に格納されています
0001田杉山脈 ★
垢版 |
2018/08/17(金) 14:16:01.10ID:CAP_USER
長い間、Windowsにはネイティブに動作するOpenSSHの実装が存在しない状況が続いてきた。コンソールアプリケーションもかなりトリッキーな実装を行っている。UNIX系オペレーティングシステムでは当たり前に実現できていることが、Windowsでは実現されてこなかった。

Windowsでも結果的に同じように見える振る舞いを実現できるが、UNIX系のオペレーティングが提供している仕組みとあまりに違いすぎるため、これまでUNIX系オペレーティングで提供されてきたコンソールに関連するコマンドの移植は進んでこなかった。しかし、2018年秋のWinodws 10アップデートでこの状況が大きく変わる可能性がある。

Microsoftは現在開発を進めているWindows 10に「擬似端末(Pseudo Console)」の機能を実装するようだ。実装する機能の詳細は「Windows Command-Line: Introducing the Windows Pseudo Console (ConPTY) - Windows Command Line Tools For Developers」にまとまっている。

UNIX系オペレーティングで実装されている仕組みとよく似ており、こうした機能を利用しているコマンドの移植がこれまでと比べて格段に簡単になるものと見られる。開発者は注目しておきたい機能だ。

物理的ターミナルはキー入力の受け取りや入力されたデータのバッファリングと送信、逆に送られてくるメッセージの処理と表示といった処理を行っている。マシンの性能が向上し、マルチウィンドウシステム上で複数のターミナルアプリケーションを実行できるようになると、これまで物理ターミナルが実施していた処理をソフトウェア的に行う必要性がでてきた。この時に開発された仕組みが擬似端末だ。物理ターミナルが行っていたような処理を擬似端末が担う。

擬似端末はsshでサーバにログインする場合などにも使われている。現在であれば、sshでサーバにログインすればその分だけ/dev/pts/にファイルが生えてくることを確認できるだろう。sshでログインするとその分だけ擬似端末が使われている。こうした仕組みがあることで、ターミナルを利用するコマンドを簡単に開発できるようになっている。

これまでのWindowには擬似端末の仕組みが用意されていなかったため、Windows版のOpenSSHは以下の画面のようにWindowsで提供されている機能を使って動作を実現していた。オリジナルのOpenSSHの実装系と比べると、Windows風のコードを従来の実装に交ぜることになる。
https://news.mynavi.jp/article/20180817-679662/
0102名刺は切らしておりまして
垢版 |
2018/08/19(日) 01:53:44.83ID:pWqGjyR+
>>94 >>98
コマンドプロンプトで、chcp 65001 でできるだろ。 そんなことも知らんのか?
0105名刺は切らしておりまして
垢版 |
2018/08/19(日) 07:26:57.07ID:TaAA6koY
>>41

無知
0106名刺は切らしておりまして
垢版 |
2018/08/19(日) 07:29:45.31ID:TaAA6koY
>>57

macOSはBSD系UNIXがベースだ
ことさら売りにしていない
0107名刺は切らしておりまして
垢版 |
2018/08/19(日) 07:31:28.49ID:TaAA6koY
>>35
>>64

どっちも無知
恥を知れ
0108名刺は切らしておりまして
垢版 |
2018/08/19(日) 07:32:52.19ID:TaAA6koY
>>77

御説ごもっとも
0109名刺は切らしておりまして
垢版 |
2018/08/19(日) 07:36:45.10ID:TaAA6koY
とにかくShift_JISは辞めろ
MSさえ撤廃すれば日本人の目が覚める
あと、UTF-8のBOM付き辞めろ
0111名刺は切らしておりまして
垢版 |
2018/08/19(日) 07:49:40.61ID:TaAA6koY
>>110

そもそもUTF-8にBOMなど必要ない
UTF-8にバイトオーダーなど無いから

Excelの.csvファイルなんかでいまだにBOM付き必須になっている意固地さはなんだろね
0112名刺は切らしておりまして
垢版 |
2018/08/19(日) 07:50:51.66ID:b4cFv3q6
MSはLinux文化も認めて両対応を進めているんだから、他のOSでも対応を強化すればいいだけ
0114名刺は切らしておりまして
垢版 |
2018/08/19(日) 07:56:41.42ID:TaAA6koY
>>112
なに寝言ゆーてはんの?
0116名刺は切らしておりまして
垢版 |
2018/08/19(日) 08:18:36.95ID:MuT7wP7T
>>111
U+FEFFは単にバイトオーダーを示すためだけのものじゃあないから。
UTF-8にバイト順は関係ないが、RFC等で言うところのBOM(U+FEFF)に意味はある。
0117名刺は切らしておりまして
垢版 |
2018/08/19(日) 11:51:58.49ID:JL4UvMUU
>>104
レジストリ設定で、コマンドプロンプトのコードページ初期値は、ユーザーアカウント
毎に変えられる。 さらに言えば、コンソールアプリ内からも、SetThreadLocale()
というAPIで変えられるし、関数名から判るとおり、スレッド毎に変えられる。

ttps://msdn.microsoft.com/ja-jp/library/cc448087.aspx

そんなことも知らないの? 最近追加された新しいAPIではなく、XPよりも前の
Windows NT 3.51から実装されている。

日本語版がShift JIS(CP932)なのは、過去のソフトウェア資産の互換性を保つため。
0119名刺は切らしておりまして
垢版 |
2018/08/19(日) 12:39:50.19ID:HktvRpX9
Windowsの性で、過去のソフトウェア資産が殆ど死にそうになってる
0121名刺は切らしておりまして
垢版 |
2018/08/19(日) 13:01:46.98ID:JL4UvMUU
>>120
BOMの件も同様だけど、決め打ちでしかソフトウェアを組めない馬鹿は死ね。 そういうこと。
0124名刺は切らしておりまして
垢版 |
2018/08/19(日) 15:10:38.29ID:ltJMrVDM
>>117
寝言は世の中に溢れるShift-JIS文書を全部レジストリ設定wでUTF-8に変換してから言えw

お前のPCのローカル環境の話はチラシの裏にでも書いてろ池沼
0125名刺は切らしておりまして
垢版 |
2018/08/19(日) 16:19:11.67ID:TaAA6koY
>>116

あんたそりゃUTF-16のBOMでしょ
0127名刺は切らしておりまして
垢版 |
2018/08/19(日) 16:49:53.61ID:TaAA6koY
>>126

ファイル先頭のFEFFかFFFEの2バイトでUTF-16文字コードのバイトオーダーを指定するんだよ
FEFFならビッグエンディアン
0131名刺は切らしておりまして
垢版 |
2018/08/19(日) 17:08:00.36ID:MuT7wP7T
>>127
まさかと思ったが U+FEFF という表記がバイト列じゃなくてコードポイントを表しているという
基礎知識すらないんじゃ話にならん。Unicodeについて語る資格なし。
0132名刺は切らしておりまして
垢版 |
2018/08/19(日) 17:15:17.82ID:lUWl15Su
UnicodeがはじまったころはアメリカではASCII、ヨーロッパなどではISO-8859、日本ではShift_JISやEUC-JPが
主流であり、使用されている符号化方式がUnicodeであることを明確に区別する必要があった。その方法として、
先頭のデータにテキスト以外のデータを入れることが発案された。

また、1文字が数バイトに渡るUnicodeでは、エンディアンの違いが認識できないと、例えばPowerPC Macintoshと
x86 MS-DOSとの間で正常にデータの交換ができないため、この先頭バイトにより区別できるようにされた。
0133名刺は切らしておりまして
垢版 |
2018/08/19(日) 17:26:22.15ID:TaAA6koY
>>131

生半可な知識ですね。
コードポイントって単なるコード表の中の文字位置のことですよ。
BOMの必要性とは関係ない話。
そもそもあなた>>116でBOM(U+FEFF)って書いているじゃないですか

なんか生かじりで人にからんでいますねえ
0134名刺は切らしておりまして
垢版 |
2018/08/19(日) 17:30:03.74ID:lUWl15Su
通信ならバイトオーダーを調整出来るだろうけど
ファイル共有やってたらどうしようもないな
0135名刺は切らしておりまして
垢版 |
2018/08/19(日) 17:37:48.27ID:pfJAMaFs
>>17
大型アップデートはHDDだと3〜4時間は平気でかかる
SSDでも1時間は必要
0136名刺は切らしておりまして
垢版 |
2018/08/19(日) 17:59:03.71ID:HMjrNmOu
>>135
4月の大型アップデート30分も掛かんなかったけど、どんだけオンボロPC使ってるの?
まあ、初期の頃は結構ひどかったけど、年々短くなってきてる印象だけどね
ただ、累積Updateを積み上げたときは酷い
実家にあるPC、ほとんど触られてないからか帰省のたびに山のようなアップデートが来ててうざかったから
そちらはCloudReadyに置き換えた
0139名刺は切らしておりまして
垢版 |
2018/08/19(日) 18:36:15.55ID:ApSaESTQ
きっとコードポイント知らなかったんだろうな
とりあえずググってみたがMuT7wP7Tの言ってることは理解できなかったみたいなw
0141名刺は切らしておりまして
垢版 |
2018/08/19(日) 19:21:10.95ID:XBz2F97B
>>140
エミュレータ使わずにできるようになるからいいよねっていうスレなんだよ
0144名刺は切らしておりまして
垢版 |
2018/08/19(日) 23:11:20.31ID:9CDuMOOy
>>136
オンボロ?i5の6300Uだけど
スペックは高い方だ
0146名刺は切らしておりまして
垢版 |
2018/08/20(月) 00:19:44.05ID:exxkGJtc
以前からコンソールあったでしょ
config.sysとかタイプするやつ
0148名刺は切らしておりまして
垢版 |
2018/08/20(月) 06:46:24.17ID:P88+4vq6
>>138
>>139

何言ってるのかなぁ、この人たち
UTF-8でBOMが必要か否かの話を表記方法の話にすり替えている

最初に絡んだID:MuT7wP7T君はどこへ逃げたのでしょうか?
ID:Zt3S6RPU君と同じ匂いしますけど

コードポイントだとかUnicodeスカラー値とかってさも自慢げにタームだけ振り回しているけど、それがBOMの必要性と何の関係があるのかという言及が一切ありませんね。
0149名刺は切らしておりまして
垢版 |
2018/08/20(月) 06:48:33.40ID:P88+4vq6
ボクは逃げも隠れもしないよ
ID:TaAA6koY=ID:P88+4vq6
だからね
0150名刺は切らしておりまして
垢版 |
2018/08/20(月) 06:58:56.81ID:P88+4vq6
>>116


これ書いた人、きちんと落とし前付けてね
UTF-8のBOMの話にUTF-16のBOM表記(ビッグエンディアン)持ち出して、「RFC等で言うところの」などと頓珍漢過ぎてわからんのですわ。
0151名刺は切らしておりまして
垢版 |
2018/08/20(月) 07:01:54.95ID:oDZa1msA
>>148
必要か否かの話なんてしてない
BOM(U+FEFF)に
> あんたそりゃUTF-16のBOMでしょ
とか言うアホを嘲笑してるだけ w
0152名刺は切らしておりまして
垢版 |
2018/08/20(月) 07:09:43.68ID:P88+4vq6
>>151
>必要か否かの話なんてしてない

>>116の意味は?
それと
>>125のどこがおかしいのか指摘して欲しい
0153名刺は切らしておりまして
垢版 |
2018/08/20(月) 07:31:48.53ID:eMzL51+e
>>57
Mac は互換じゃない
Unixそのもの
しかもNeXTSTEP譲りのGUIで完璧
0154名刺は切らしておりまして
垢版 |
2018/08/20(月) 07:37:40.31ID:oDZa1msA
>>152
> U+FEFFは単にバイトオーダーを示すためだけのものじゃあないから。
>>130, >>132の前半

> >>125のどこがおかしいのか指摘して欲しい
→ U+FEFFはコードポイントの表記でUTF-8にもあるからU+FEFFを見てUTF-16と思いこむのは知識が足りなさ過ぎ
ちなみにU+FEFFのバイト列がどうなるかは>>129が書いてる
0156名刺は切らしておりまして
垢版 |
2018/08/20(月) 12:34:51.96ID:1XpLl33O
>>145
ストレージはSSDって最初に書いただろ
オンボロとか的外れな指摘にはCPU出せばそれで十分
別に君にトラブル解決してもらうために質問してるわけでもなし
0157名刺は切らしておりまして
垢版 |
2018/08/20(月) 12:56:04.55ID:9eCsAnje
Embedded化したXpのAM1マシンですら1時間も掛からん。
トラブルシュートすらできん無能は、なんでもWindowsのせいか。おめでてぇな。
0158名刺は切らしておりまして
垢版 |
2018/08/20(月) 13:04:21.83ID:Xdqrm9vK
>>156
空きはどれだけあるのか、PCIe接続なのか、そもそもメモリの容量と帯域はなんなのか
全くといっていいほどレスから分からないから、なにもしようがない
アスペなの君
0160名刺は切らしておりまして
垢版 |
2018/08/20(月) 13:17:04.23ID:2phLzhRf
ubuntuの上でWindowsを動かせはいいのではないか?
0162名刺は切らしておりまして
垢版 |
2018/08/20(月) 16:41:15.57ID:z16+yX9v
コマンドラインはCygwin使ってるな
コマンドプロンプトはUTF-8に対応してないからな
今はもう、テキストファイルはよほどの理由がない限りUTF-8にしてる
0163名刺は切らしておりまして
垢版 |
2018/08/20(月) 17:56:09.61ID:P88+4vq6
>>154

君は>>129の意味わかってないでしょ?
ちょっと気の毒な感じがする。
0164名刺は切らしておりまして
垢版 |
2018/08/20(月) 18:02:26.55ID:P88+4vq6
>>154
>U+FEFFはコードポイントの表記でUTF-8にもあるから

テキストとバイナリの区別ついているか?
大丈夫?
0165名刺は切らしておりまして
垢版 |
2018/08/20(月) 18:19:20.62ID:oDZa1msA
>>163
> 君は>>129の意味わかってないでしょ?
なら説明してみ

> ちょっと気の毒な感じがする。
お前さんがな w

>>164
> テキストとバイナリの区別ついているか?
テキスト?
頭大丈夫?
0166名刺は切らしておりまして
垢版 |
2018/08/20(月) 18:33:14.69ID:P88+4vq6
>>165
>なら説明してみ

BOM付きUTF-8ならファイル先頭から3バイトがEF,BB,BF
UTF-16ならファイル先頭から2バイトがFE,FFもしくはFF,FE。前者ならビックエンディアン、後者ならリトルエンディアン
わかった?

君はスクリプト言語しか経験ないのかな?
0167名刺は切らしておりまして
垢版 |
2018/08/20(月) 18:40:07.50ID:P88+4vq6
>>165

ターミナルでUTF-8(BOM付)とUFT-16エンコーディングのファイルを16進ダンプしてみ
0168名刺は切らしておりまして
垢版 |
2018/08/20(月) 18:49:30.37ID:pAjyoaRt
C:\Users\user>filedump utf16L.txt

-------- 0 1 2 3 4 5 6 7 8 9 a b c d e f 3 7 b f
00000000 : fffe226f 575b0d00 0a00 .."oW[....


C:\Users\user>filedump utf16B.txt

-------- 0 1 2 3 4 5 6 7 8 9 a b c d e f 3 7 b f
00000000 : feff6f22 5b57000d 000a ..o"[W....


C:\Users\user>type utf16L.txt
漢字

C:\Users\user>type utf16B.txt
o"[W
0169名刺は切らしておりまして
垢版 |
2018/08/20(月) 18:49:35.53ID:oDZa1msA
>>166-167
> BOM付きUTF-8ならファイル先頭から3バイトがEF,BB,BF
> UTF-16ならファイル先頭から2バイトがFE,FFもしくはFF,FE。前者ならビックエンディアン、後者ならリトルエンディアン
それ…
>> ちなみにU+FEFFのバイト列がどうなるかは>>129が書いてる
で書かれてるバイト列のことなんだけど…

で、テキストってどこから出てきたんだ? w
0171名刺は切らしておりまして
垢版 |
2018/08/20(月) 19:23:36.01ID:CXipo3ey
すでにubuntuとかsuseのbash入れられるのになんで?
0172名刺は切らしておりまして
垢版 |
2018/08/20(月) 20:09:22.41ID:vN/ZpzKG
>>158
中途半端に知識のある典型的なコミュ障オタクだね、君
だから君にどうにかしてもらおうとなん思ってないから、そんな情報はいらんのだよ
大体、SATAだろうがNVMeだろうが、メモリ帯域幅がどうであろうが、
ことWindows updateにおいてはそんなもんの影響は大したことは無い

僕ちゃんのハイスペマシンだと30分かからず終わるのかもしれないが、
激安でもない普通に売ってる現行機でも、大型アップデートには相当の時間がかかるもの
所要時間なんてググればスペックと一緒にいくらでも出てくるわ
0179名刺は切らしておりまして
垢版 |
2018/08/20(月) 21:00:24.11ID:SxoRLrnV
今更
アップルの通って着た路線を真似するなよ。
最低。
0180名刺は切らしておりまして
垢版 |
2018/08/20(月) 21:14:22.90ID:DnC5gXRf
>>172
多分、アフィとかでネットDE真実をしてしまってるんだろうが
マウスとケース込みで20万もしないノートの無線でも1時間なんてとてもかからなかったんだが
えーと、君のハイスペって何?
0181名刺は切らしておりまして
垢版 |
2018/08/20(月) 21:44:36.04ID:vN/ZpzKG
表に出てもっと外を知ったらどうだ?
0183名刺は切らしておりまして
垢版 |
2018/08/20(月) 21:53:46.70ID:vN/ZpzKG
そうそう
僕ちゃんは30分も掛からないよー
アップデートに時間がかかるって言ってる奴はみんなポンコツ使ってるんだよーって思ってな
君の世界ではそうなんだからそれでいいんじゃないか
0184名刺は切らしておりまして
垢版 |
2018/08/20(月) 21:55:40.27ID:dkv/J7ie
>>164はつまり、U+FEFFが文字を表している(コードポイント)ということがどうしても理解できないんだろうな。
今までのレスを見るに彼の頭の中には具体的な「文字コード」しか存在しない。
0185名刺は切らしておりまして
垢版 |
2018/08/20(月) 22:05:16.32ID:pLyc+muC
>>181
いやだからさ、外を知るもなにも(てかソースがネットのみじゃないならむしろ俺みたいに思うが)
国産メーカーの低性能ぼったPC強制的に使わされてんならまあそうだろねて同意できるけどさ
SSD、接続規格、メモリ関係ない!とかはちょっと頭可笑しいんじゃね?と思うからさ
ちなどこのメーカーのなんてPCよ?
自作なら構成どうぞ
0188名刺は切らしておりまして
垢版 |
2018/08/20(月) 22:09:49.02ID:66fyf+M0
149 名刺は切らしておりまして 2018/08/20(月) 06:48:33.40 ID:P88+4vq6
ボクは逃げも隠れもしないよ
ID:TaAA6koY=ID:P88+4vq6
だからね
0189名刺は切らしておりまして
垢版 |
2018/08/20(月) 22:17:24.60ID:vN/ZpzKG
>>185
SSDでもSATAとnvmeでアップデートに大きな差が出ると思ってる時点で、
レベルがわかったからもういいよ

>>186
意味がわからんな。
30分掛からないっていってるのはポンコツ君だけどね
0190名刺は切らしておりまして
垢版 |
2018/08/20(月) 22:19:04.97ID:pAjyoaRt
アップデートは概ね30分以内に終わってる
それに掛かる時間が遅いと感じたことはない
インストールしているソフトウェアが多いと
それとの整合性取りながら更新情報を作成しているんじゃないのか?
0191名刺は切らしておりまして
垢版 |
2018/08/20(月) 22:19:41.37ID:vN/ZpzKG
ちなみにネットde真実って言葉が大好きみたいだが、
システム部門の人間なんで、その言葉とは対極にいるかな
検索すれば、他人の書いた実例が出てくるから言ったまで
0192名刺は切らしておりまして
垢版 |
2018/08/20(月) 22:21:37.36ID:vsH5/52l
擬似コンソールのスレなのになんでBOMとかWindows Updateで延々とレスバトルしてんのw
0193名刺は切らしておりまして
垢版 |
2018/08/20(月) 22:25:57.17ID:pAjyoaRt
凡人は
テーマがよく分からないときに
自分が分かる話題を話したがる

疑似コンソールのはなし、続けてくれ給えw
0194名刺は切らしておりまして
垢版 |
2018/08/20(月) 23:21:59.69ID:Vzw8UvGr
>>190
とはいえCドライブにOS除いて100GB以上はいってるのでも1時間もかかったことない
他の人らもだいたい似たようなもん、35〜50分程度

たしかに昔のノートなら4時間ほどかかったがな
3600rpmのHDDだわ、メモリ4GBだわで、もうね
0195名刺は切らしておりまして
垢版 |
2018/08/20(月) 23:27:36.94ID:aWB/3pfr
>>191
いや外に出てみろとか頓珍漢なこと書いてたので、売り言葉に買い言葉でw
ちなみにそっちはネット記事しかソースないのね、ほんとにネットDE真実じゃんw
周りの人に聞いてみたら?
0196名刺は切らしておりまして
垢版 |
2018/08/21(火) 06:17:24.44ID:F24m8bck
>>175

だから何?
それがBOM無しUTF-8ファイルの先頭にきたら心配だとでもW
>>116>>164の落とし前つけてね
なにを心配しているのか全然わからないわけだわ

>>184
>具体的な「文字コード」しか存在しない。

いや、ファイル中のバイトのシーケンスだ
0198名刺は切らしておりまして
垢版 |
2018/08/21(火) 06:57:05.75ID:F24m8bck
>>175
>>184

実際UTF-8(BOM付)文字列として書き込むときはエスケープして
"\uFEFF"
のようにするでしょ。
そうすればバイトシーケンスはEF,BB,BFになるわけ
0200名刺は切らしておりまして
垢版 |
2018/08/21(火) 08:07:09.23ID:V9AGhzkw
UnicodeにBOMは必須だろ
BOMの概念がないEUCJPやらSJISと見分けがつかないじゃん
特にSJISとは見分けがつきづらい
先にJISコード規格があってそれを元にしてんだから後続はきちんと配慮すべき
0201名刺は切らしておりまして
垢版 |
2018/08/21(火) 16:16:52.58ID:QcY4KScA
>>195
覚えたての言葉を使いたくてしょうがないって感じだな。
ネット上の情報はみんな根拠に欠ける扱いか

大体、自分こそソースなんて何一つ出してないのに何を言ってるんだ?
俺は君と同じく実体験からものを言っていて、
それを補強するものとしてネット情報を上げてるだけだが
■ このスレッドは過去ログ倉庫に格納されています