Cygwin使っている人いますか? その22
当然、Windows10対策は赤帽やってるよね。 でも、MLには情報が流れてこない。。 Windows8.1の64bitではssh-host-configが通らない 上に書いてあるのでも不十分 もしかしてサービスに組み込まなくてもいいなら 独自にOpenSSHをmakeすればいいのかもしれないが つまりWindowsのスタートアップに、sshdを起動させるバッチファイルでも入れればいいのかも 今日minttyの更新があったので聞いてみるんだけど、 みんなどんなフォント使ってる? 自分はMSゴシック(等幅)だけど、 半角円記号の代わりに半角バックスラッシュを表示させたい。 だけどminttyってASCIIとそれ以外でフォント指定を変えたり できないんだよね。 Migu 1M使ってる、円じゃなくてバックスラッシュ表記 mintty更新後からShow bold as fontが常に有効になってる気がする >>277 ググって見つけた Myrica Mというのにしてみた。 違和感あるし、アナログモニタでにじむと見づらいけど、 半角英数は見分けやすいな。バックスラッシュだし。 あと、Show bold as fontがよく分からないけど、自分の ところでは画面のあちこちが太字になって、それを無効に できない。 調べたら man mintty があるのな。それに載ってた。 確かに Show bold as font を無効にできない。 MyricaというかInconsolataは[]とか{}が妙にくっつくので、Consolas使ってる。 最近minttyの更新が続いてる。 おかげでEmacsを再起動しなければならなくて面倒。 ついでに需要のない話をするとWindows版のVagrantは Cygwinからもそのまま使えて猛烈に便利。 まだVMWare Player使ってるとか、Vagrant無しのVirtualBox 単体を使ってるとかの人は即導入したほうがいい。 あと、素のbashと、Emacsのshell, termで動作したが eshellではちゃんと動作しなかった。 言われた通りVagrant導入してみたが これ何に使うの? これから新しいVM作る予定もないし 需要のない話といいつつ即導入したほうがいいって誤解を生む書き方だな もともとVagrant使ってる人以外はあんまり関係ない話だと思うが >>281 がVagrantの導入をすすめてるのは、今VMWare Player使ってる人とか、今Vagrant無しのVirtualBox単体を使ってる人に、だろ? まあおれは手元のPCのCygwinと別マシンのDebianで十分ですが ごめん、確かに書き方がおかしかった。需要がないのにお薦めって変だよな。 Vagrant って2chではほとんど語られていないから 現在の需要はなさそうだけど、個人的には便利だと思うから 使ってみてよ、と言いたかった。 じゃあVagrantの何が便利なのかというと、息をするような手軽さで 環境の構築と破棄ができるから、開発環境や検証環境を使い捨てにできる。 ただしそれは、できた環境にアプリケーションのデプロイやデータの投入を するのも自動化できて、手作業が完全に不要になって、初めて実現する。 Vagrantにもその機能はあるけど、本格的にはChefとかを併用するんだろう。 正直言うと自分はまだそれはできてない。 まあ今までのやり方は、手作業で試行錯誤しながら環境を構築して、 記録は手順書やメモにまとめ、日々環境が壊れないことを祈りながら使い、 壊れたら不運を呪いながら手作業で作りなおすし、壊れなくても時間が経つと いろんなコードやデータが山ほどたまって新しい環境への移行が困難になる というものだった訳で、それが使い捨てにできるなら夢のようだと思う。 つうか DevOptsとか Infrastructure as Code とか言えば済む話だった。 Vagrant使うと実環境にはないvagrantユーザとか1枚目のNICとかできるのが好かん PXEブートでkickstartやpreseed呼ぶ方が好みだ うーん、要するに頻繁に環境を壊す人にしか意味ないってこと? 俺はホストはただの器でVMの中身の方が常用する環境だから 環境を破棄するってことはもう同じ環境にすることはないってことだし。 これでWindows98のBoxとかあれば使うかも知れないけど。 うーん、何か理解が違うのかなあ。 開発環境とか検証環境用に毎回同じ設定でVM立ち上げたいって人が使うものでしょ? >環境を破棄するってことはもう同じ環境にすることはないってことだし。 この認識が間違ってる 例えば数年かけて作り上げた環境が意図せず壊れてしまったらどうするのって話 Vagrant便利って言ってる人って元々VirtualBox使ったことない人じゃない? VirtualBox使ったことある人からすると利点がほとんど感じられない スナップショットはバックアップでしょ Infrastructure as Code とは違う 利点が感じられないのは使い分けを知らないだけでしょ ほそく 少し説明読んだだけだけどコマンドラインから VirtualBoxが操作できるってだけでしょ? だから使い分けてなきゃ利点なんてないんじゃ、って話よ >>291 もう使わなくなった環境しか破棄しない、って使い方は間違いなのか? >>294 あ、なんで食い違ってるのかわかった >>288 の俺の環境は普段使いのデスクトップとCygwinがVM内にある。 ホストマシンはただのVM実行とバックアップ保存のための箱。 だから自分自身から自分自身に対してVagrant使うとか意味わからなかった。 使い分けを知らない、じゃなく使い方が違うだけなんだな。 さらにそろそろcygwin関係ない。 まぁ最近過疎ってたし たまにはCygwin関係ないネタで盛り上がるのも一興 Cygwin ver 2.0の時も、このスレは全く反応なかったね…。 >>302 その手のCygwin代替ってやたらたくさんあるけど、 どういうメリットがあるの? 1.7より前のイメージで忌避してるだけみたいに見えるんだけど。 msysってpacman使えるのか 別にcygwinにこだわりはないし乗り換えようかな 2.1になったらWindows8.1 64bit上のssh-host-configの不具合は直るのだろうか >>305 えっ、7/15から2.1になってるよ。 What's new and what changed in Cygwin: https://cygwin.com/cygwin-ug-net/ov-new.html#ov-new2.1 cygwin64だとcpanが失敗するのはなんででしょうか? まだ何年かは32bit版使えってことなのかな? うんうん わかるー cygwin64だとcpanが失敗するよねー ちょっと前にCygwin2.2になってた。 CYGWIN_NT-6.1 *** 2.2.0(0.289/5/3) 2015-08-03 12:51 x86_64 Cygwin ところでCygwin上で、Magit(EmacsのGitクライアント)が、diffの表示とかが えらく速くなった。ちょっと前までLinux上とは比較にならない遅さだったのに。 まあCygwinじゃなくてMagitの改善のおかげのようだけど。 >>310 実装方法をfunctionではなくシェルスクリプトにしたところ、パイプの切り替えも 機能するようになりました。理由は分からないのですが、そのような説明に見直し ました。 32bit版を動かしているマシンにおいて、 64bit版に入れ替えようと思ってる。 32bit版をそのまま、まずは64bit版をインストールしようとしてるんだが、 プロセスはとりあえず進行するんだが、 ユーザーを生成する段階のアクションが発生しない。 やっぱり、まずは32bit版をアンインストールしないと駄目? >>310 遅レスだけど、とりあえず動かせました。ありがとうございます。 vim で /etc/hosts の編集ができてうれしい。 >>310 pingも動きますね。割り込みで終わらないので、回数を指定して。 sudo ping localhost 56 3 それにしてもなんでCygwinのpingは管理者権限なんぞが必要なのか。 あれ、ping管理者権限要るの? vistaでc:/windows/system32/にあるの使ってるけど要求されたことない ICMP使うのに必要なんでしょ 他のUnix系OSでもsetuidされてるはず 割り込みもサポートしてみました。 cygstartで起動しいたプロセスをまるごと殺すコマンドがなかなか見つからず、 やっと見つけたのがtaskkill /pid <pid> /t。他に方法ありますかね? テストはsudo ping localhostで行うのがわかりやすいです。 >>318 ありがとうございます。 sudo ping で試してみましたが、Ctrl-Cで中断できませんでした。 シェルには戻るのですが、バックグラウンドでpingの実行が続いてしまう。 sudo kill で中断できました ;-) ところで、よろしかったらGitHubで管理していただけませんか? ・更新を取得、実行するのが容易 ・変更分が見やすい ・他の人がコードの提案をしやすい ・検索エンジンなどで見つかりやすいので多くの意見が望める メリットは他にもたくさんあると思います。 >>319 確認していただきありがとう御座います。恐らくですが、中断できない原因が 分かりました。taskkillのパスに/c/を使っているところを、c:/にする必要が あったようです。(cygdriveのマウントポイントを/を前提としてはいけない。) 説明ページの方は直しておきましたので、再度試してみていただければと思います。 sudo killでもcygstart経由で実行したプロセスを殺せればいいのですが、 元のスクリプトから実現するには面倒となりそうで、行き着いたのがtaskkillの /tオプション付きでした。 なお、GitHubの件は、keyhacのキーバインドスクリプトの方でも一度要望を 受けております。前向きに検討しますが、だんだんサイトのページが多くなって 来ていて、markdownの書き直しが大変だなぁと躊躇しておりました..。 一部からでも移行することを考えてみたいと思います。 何も説明ページまで移行しなくても 単体で完結してるコードだけ github において wiki にリンク貼ればいいんじゃない? >>321 そうですね。ほとんどがEmacs Lispの切り貼りですが、keyhacのやつなど幾つか はあるかな。まずはそこからやってみます。 >>320 遅レスですが、/c/ → c:/ に変えたらCtrl-Cで中断できるようになりました。 ありがとうございます。 中断した時も確認ダイアログが出るのが面白いですね。 厚かましいことを言わせていただくと、次は sudoedit があるとありがたいです。 自分もEmacsユーザなので、sudoeditで emacsclientを呼び出せると たいへん嬉しい。 >>324 うおー、こんなに早く!ちゃんと動きました。ありがとうありがとう。 つうか /etc/hosts の編集以外にほとんどニーズのないものをお願いして しまったことに、あとで気がついて反省しております。 それにしてもWindowsのUACが導入されたのがVista以降だから、 もうそろそろ10年近いわけで、Cygwin本家にsudoやsudoeditが含まれて ほしいなあ。 wってコマンド、いつからcygwinに入った? というか何で今までなかったんだろう。 上の方で、64bit版のインストールが上手くいかないと書いたものです。 いくつかのサイトをうろついてみた。 「必要なパッケージの内、『自動で』インストールされないものがある」って、 書いてあるサイトがあった。 これって、setup.exeが、依存関係を適切に解決できてないって事? setup.exe が新しいものがあると警告を出したので 新しいsetup.exeを実行したら様々なクリティカルな障害が発生して対応の仕方が分からない まず、perl の cpan がおかしくなった cpan install Clipboard などが gcc hugahgua の所で エラーも出さずに処理が止まり新たな追加ができない さらに、既存のインストールした一部のcpanモジュールが 例えば Regexp::Assemble などが use できなくなった。 Can't locate Regexp/Assemble. pm in @INC (you may need to install the Regexp::Assemble module) とあるのでこれは@INCを指定する方法が見つかれば回復できるかもしれない だがまだまだ同様の障害はたくさんある 構文解析ツール kakasi や コード間のジャンプを担うctagsが死んだ オプションを受け取らないあたり,どうすればいいのか分からない kakasi -v /usr/local/share/kakasi/kanwadict: No such file or directory ls /usr/local/share/kakasi/kanwadict /usr/local/share/kakasi/kanwadict ctags --help ctags: No files specified. Try "ctags --help". 開発環境は半壊してしまった 何か打つ手はないだろうか Cygwinのインストールの際の注意事項があります。 コンピュータのCPUが何ビットであるか調ベておく事が大切です。 32ビットCPUを搭載したコンピュータには、 32ビット用のCygwinをインストールすること。 64ビットCPUを搭載したコンピュータには、 64ビット用のCygwinをインストールすること。 これを間違えればCygwinのインストールができません。 >>330 あれ? 半年ほど前までは 64bitのPCで32bit版のcygwinが動いていた記憶が…。 その後消したから追いかけてないけど…。 32bitのsetup.exeだからそこは大丈夫だった apt-cygのインストールもまずい インストールされていたclispが使えないので apt-cyg remove clisp apt-cyg install clisp でパスなど何かの間違いで途切れたの修整してくれることをネガって操作したら command not found で インストールに成功したclispがシェルやemacsから呼べない vimのgit commit 関係のプラグインも動作しなくなってて終わった lisp無くても使える言語はまだあるけど痛い 本当に何か手は無いか? もう一から入れなおした方が早いんじゃない スクリプトや設定ファイルの類は持っていけばいいし 使ってないプログラムやモジュールが消え去ってすっきりするだろう cygwin自体を一回アンインストールする方法は ネットで調べたら手動でレジストリとか触る方法で恐いな あまりにもイレギュラーな状態なので 本当にそれは最終手段だと思ってる 2つか3つぐらいは他の方法も欲しい 復元ポイントが作成されていれば、C:\cygwin のプロパティから 以前のバージョンの復元機能で戻せそうな気がしなくもない 他のフォルダに依存関係があるかも知れないし、どうなるか分からんけど もう一回入れるつもりなら別にレジストリ消さなくてもいいでしょ 個人で使ってるならcyglsa.dllとか使ってないでしょ だとするとアンインストールってサービス止めてX11止めてフォルダ消すだけじゃん >>336 それは助かる Xは使ってないからサービスを何とかして止める http://heroween.hateblo.jp/entry/2014/07/08/221841 これを参照しながらやって文字化けして状態が一部分からない上に --remove オプションが通らないから これはWindowsを再起動直後にcygwinのディレクトリ消せば良いのかな? cygwin使わなくてもサービス立ち上がってしまうのだろうか? ~/ cygrunsrv -L sshd cygrunsrv: warning: QueryServiceConfig failed for 'WMPNetworkSvc': Win32 error 2 wt@C ~/ cygrunsrv --remove ssh cygrunsrv: Error removing a service: OpenSCManager: Win32 error 5: ANZXB ~/ cygrunsrv -L sshd cygrunsrv: warning: QueryServiceConfig failed for 'WMPNetworkSvc': Win32 error 2 wt@C c:/cygwin c:/cygwinpackage を再起動直後に消してsetup.exe使った ~/ 以下はコピーしておいた bash zsh は立ち上がるようだ ありがとう ここまで来たらきっと直る ほぼ直った ありがとう あとcpanの@INCの問題は echo 'eval `perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib`' >> ~/.zshrc のように設定書き込めば local::libの位置記憶できて解決 cygwinをWin7x64で使っているのだが、 どこかのサイトにftp接続したいので、アドレス入れて接続して、 userid入れた後、 メモ帳に書いてあるpasswordをマウスでコピペで入れたいのだが、 cygwinの画面でpassword待ちの状態でマウス右クリックで貼り付けても、 何も入力出来ないのだが、何故? コマンドラインでパスワードを受け付けるときは 入力をエコーしないのがUnix系ソフトウェアで普及してる慣習 >>343 なるほど。 でも、貼り付けてもログイン出来ないのだが。 パスワードが入っていないかんじ。 何でやねん。 >>344 cmd.exeに貼り付けた場合はログインできる? >>346 teraterm(cygterm)はどお? コピペじゃなくて手入力でログイン可能か確かめた方がいい気がする あとエンターキーを押して入力渡すのは同じだからクリップボードに改行が入ってるかどうか よくわからんftpソフト使ってたりよくわからんターミナル使ってたり そもそもマウス右クリック貼り付けでコピペできるのかとか なんかものすごく初歩的な間違いしてないかね やった手順を詳しく書いた方がいいかも 読んだ人が同じこと再現できるくらいに 今朝試したら、問題なく出来ました。 寝ている間に小人さんが解決してくれたのだと思います。 お騒がせしました。 最新版 デフォのカレントディレクトリ変更された? ウザいな すみません、OS(Windows7)は32bit版、CPUは64bitという変則的な環境なのですが、 Cygwinは32bit,64bitどちらのバージョンをインストールすれば良いのでしょうか? >>356 ありがとうございます。サイトにこんなはっきりとした記載があるのに、 質問してから気づきました。すみません。 Cygwin Installation https://cygwin.com/install.html > Run setup-x86.exe any time you want to update or install a Cygwin package > for 32-bit windows Cygwin/X X Server Version 1.17.4 (i686-pc-cygwin) package: version 1.17.4-built 2015-10-29 を使っています。フォントの追加の仕方を教えて下さい。 Cygwin Setup では、 X11 を丸ごとインストールしましたが、 スタンダードなフォントでも使えなくなっているものがあります。 (例えば、-adobe-times-medium-r-normal- で始まる一部のフォントなど。) 使いたいフォントがないことは、xfontsel や xlsfonts で確認できました。 そこで、当該フォントが使える、手元にある別のUNIX系マシン(FreeBSD) のX11の設定で xfs を使えるようにしてから、Cygwin/X 上で、 % xset fp+ tcp/hostname_of_FreeBSD:7100 とやると % xset q | grep font catalogue:/etc/X11/fontpath.d,built-ins,tcp/hostname_of_FreeBSD:7100 のようにフォントサーバーを参照できるようになりました。 これで、一応目的のフォントが使えるようにはなったのですが、 remote の xfs に頼らずにローカルでフォントをインストールしたいのです。 Cygwin X FAQ http://x.cygwin.com/docs/faq/cygwin-x-faq.html 3.5 に似たような記述があるのですが、解が書かれていません。 どうぞよろしくお願い致します。 そのページのこの辺は読んで必要そうなフォントパッケージは全部インストールしてあるの? 3.5. My favourite font has gone! The font Emacs uses is just boxes Only minimal fonts will be installed after the upgrade from X.Org R6.8 to modular X.Org. Font packages are now named font-<author/class>-<fonttype> Some packages dependencies have not yet been updated for the fonts they require, so you may need to manually install the needed fonts. For example, to provide the font emacs wants to use by default you will probably want to install font-adobe-dpi75 (or font-adobe-dpi100 if you like large fonts). This package provides the courier, helvetica, new century schoolbook and times font families. The lucida font family is provided by the package font-bh-dpi75 (or font-bh-dpi100). The monospaced version, lucida typewriter is provided by the package font-bh-lucidatypewriter-dpi75 (or font-bh-lucidatypewriter-dpi100). Note that after installing fonts you will need to restart the X server or run xset fp default; xset fp rehash to make the new fonts available >>359 お返事ありがとうございます。 おっしゃるとおりで、まさに必要なパッケージは、FAQ 3.5 に書かれている font-adobe-dpi75 font-adobe-dpi100 と思われるのですが、Cygwin Setup で見れる一覧には、存在していないので、 インストールされていないと思います。 package にはないですが、 別途 FreeBSD のように、portsとして 存在するということだとありがたいのですが。。。少し調べてみます。 ぐぐって、アーカイブを拾ってきましたが、 もう1歩のところで上手くいきません。 $ ls *.bz2 font-adobe-dpi100-1.0.2-1.tar.bz2 font-adobe-dpi75-1.0.2-1.tar.bz2 $tar xvfj font-adobe-dpi100-1.0.2-1.tar.bz2 -C / $tar xvfj font-adobe-dpi75-1.0.2-1.tar.bz2 -C / $cd /etc/postinstall $ ./font-adobe-dpi100.sh opendir: No such file or directory $ ./font-adobe-dpi75.sh opendir: No such file or directory エラーでストップしてしまいます。 根本的にやり方が間違っているでしょうか。 X11を再起動してもフォントは認識されていません。 下記のアーカイブも見つけたのですが、 これは package をsource から build するためのもののようでした。 font-adobe-dpi100-1.0.2-1-src.tar.bz2 font-adobe-dpi75-1.0.2-1-src.tar.bz2 アドバイス頂けると助かります。 どうぞ宜しくお願い致します。 /usr/share/fonts/100dpi /usr/share/fonts/75dpi にフォントは展開したので、 $ cd /usr/share/fonts $ mkfontdir 100dpi $ mkfontdir 75dpi $ xset +fp /usr/share/fonts/100dpi $ xset +fp /usr/share/fonts/75dpi とやったら、フォントが認識されて X client から使えるようになりました。 (何か本来やるべき方法と違っているようには思います。 この xset +fp を自動にするにはどうしたら良いかなど、、、) ひとまずは使えるようになりましたが、 引き続きコメント頂けると幸いです。 よろしくお願い致します。 >>362 xset +fpじゃなくてシステムワイドに設定するなら普通はxorg.confに書くんじゃない? >>362 次のシンボリックリンクを作成したら、追加したフォントを手動で xset +fp しなくても、 使えるようになりました。 $ cd /etc/X11/fontpath.d $ ln -s /usr/share/fonts/100dpi fonts-adobe-dpi100 $ ln -s /usr/share/fonts/75dpi fonts-adobe-dpi75 Xserver を再起動しなくてもダイナミックに更新されるようです。 どうもありがとうございました。 >>363 コメントありがとうございます。 昔の XFree86 や Xorg を使っていたころは、設定ファイルに font path を書けたのですが、 今回新しくインストールした Cygwin/X では、xorg.conf をサポートしていません。 いつの頃からか、設定の仕方が変わったのだと思います。 Cygwin/X の起動時のログ表示の冒頭部分は次のようになっています。 $ startxwin Welcome to the XWin X Server Vendor: The Cygwin/X Project Release: 1.17.4.0 OS: CYGWIN_NT-6.1-WOW olive 2.2.1(0.289/5/3) 2015-08-20 11:40 i686 OS: Windows 7 Service Pack 1 [Windows NT 6.1 build 7601] (WoW64) Package: version 1.17.4-1 built 2015-10-29 XWin was started with the following command line: /usr/bin/XWin :0 -multiwindow -auth /home/ushida/.serverauth.5520 (II) xorg.conf is not supported ↑ここ! ssh-pageantがいつのまにかCygwinの公式リリースに含まれるようになってる。 久しぶりにssh-pageantのページ見に行って気づいた。びっくり。 すみませんが、質問です。UNIX板のEmacsスレから来ました。 CygwinのEmacsでrgrepを実行すると、10月くらいから検索結果画面に 「grep: 警告: GREP_OPTIONS は廃止されました。alias またはスクリプトを使用してください 」 というメッセージがいくつも出るようになったのですが、 どなたか原因と対策がお分かりでしたら教えていただけませんか。 なお、他のPCに新規でCygwinを入れ、Emacsだけをインストールしても同じ現象が起きています。 Cygwinのインストールディレクトリ内に GREP_OPTIONS という文字列は /bin/cyglsa-config:95 にしか出現せず、この箇所はあまり関係なさそうに見えます。 >>367 どこかでその環境変数を指定してるんでしょ >>368 そのどこかがわからないのです。 質問にも書きましたが、c:\cygwin(64)ディレクトリ以下を全部検索しても GREP_OPTIONS という文字列は /bin/cyglsa-config:95 にしか出現せず、 この箇所はあまり関係なさそうに見えます。 もちろん自分で他に設定したりはしていません。 >369 grep.elのgrep-process-setupでGREP_OPTIONSをsetenvしているからでは? もしかして全部検索ってwindowsに検索させただけか >>370 ご回答ありがとうございます。 おっしゃるとおり、 grep.el を見落としていました。 emacs-el パッケージは入れましたが、ソースはgzip圧縮されていたので grep に引っかからなかったのです。 ついでに Fedora22 の/usr/share/emacsディレクトリを見ると、 24.5/lisp/progmodes/grep.el.gz の他に 24.5/lisp/progmodes/grep.el.grep-deprecated というファイルがあり、 これが GREP_OPTIONS 排除した版の grep.el のようだったので、 Cygwin環境にコピー、バイトコンパイル、Emacsを再起動してみましたが、 やはりrgrep時のエラーメッセージは消えません。 とりあえずいったん諦めます。お騒がせしました。 $ iconv -f utf8 -t sjis で、\ 入れると 変換できません 言われるんだけど、オレだけ? # to sjisがダメみたい read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる