iTerm 2のβ版ですけど、毎日最初の起動の時必ず左上にポップアップが出ます。 これを完全にオフにするにはどこの設定を変えたらいいんでしょうか?
どういうのが出てんの?試しに入れてみたけど出なかった ああ、iTerm2メニュー下にあるShow Tip of the Dayかな? それならポップアップ中More Options下にあるDisable Tipsでいけんじゃない
ずいぶん久しぶりに使ってみて、ちっちぇーこと↓だけど、良くなっててええね ドラッグで文字選択するとき、最初と最後が狙いやすくなった コピペで行末に無駄な空白が入らない、改行コードも入る lessでスクロールするとき、ステータス表示がブルブルしない
>>5 そのポップアップです。 Disable Tipsを押してもまたすぐ復活しました。 iTerm2 version 3ってiTerm3にならないの?
【OS】 Mac OS X 10.8.5 (x86_64) ターミナルのウィンドウを巡回するキーを「Fn+F1」から 「Command」か「option」を使うショートカットに変更したいです。 どうすればいいでしょうか?
xcodeスレで聞くべきか、「【Mac用】圧縮 解凍 総合スレッド5【アーカイバ】」で 聞くべきがわからなかったのでここで質問させて下さい。 rubyとCleanArchiverで教えてください。Mavericksのrubyは1.9.xだとか。 CleanArchiverはrubyで動作しているそうです。 Mountain Lionのrubyを1.8.7から1.9.xにアップしても CleanArchiverが動作するかどうか、アプリエラーがないかどうかは どうやって確かめるべきでしょうか? コンソールというアプリを見ればいいのでしょうか? 希望としてはCleanArchiverも、ruby1.9.xも使いたいです。 OS X 10.8.5です。
>Mavericksのrubyは1.9.xだとか。 2.0.0-みたいだよ 10.9.5 http://opensource.apple.com/release/os-x-1095/ のruby-104 セキュリティうpでどうなってるかは知らない >Mountain Lionのrubyを1.8.7から1.9.xにアップしても 自分で1.9.x入れるにしても/usr/bin/ruby置き換えじゃなくて、/usr/local/bin/rubyとかに置くんじゃないの? >どうやって確かめるべきでしょうか? >コンソールというアプリを見ればいいのでしょうか? パッケージ中のResources/carcがそれらしいから、ターミナルで直に動かして確かめちゃえば? 必要ならshebang書き換えちゃえば? よほどの事情がないならRuby上げるなら2系にした方がいいよ Macでも過去に1.9系がデフォルトだったことはない >>15 usr/bin/ruby を書き換えてしまうから、仕組み理解してる人でないと使ったらアカン 皆さん有り難うございます。 >>13 入れるのは1.9xでなく2.0にします。prefixで/usr/local/を指定するようにします。 >>13 >>14 Mavericksに合わせ2.0にします。 >>15 >よほどの事情がないならRuby上げるなら2系にした方がいい 上のコメントの通り、2.0にしたほうが良さそうですね。 1.8.7の必要性は単に過去資産だけなので、ruby2.0の記述にしたいとおもいます。 自分の場合、rubyのgsubやクラス、optparse、日本語、fileutilが圧倒的に多いので そんなに困難ではないと思います。一応、よく記述の互換性を確かめて修正します。 普通Developerサイトからアップルのソース落としてきてそれとマージさせてビルド&インストールよ
*env 系は置き換えなんか起こらんぞ 切り替えの為のスイッチシステムだ
>>18 ググると殆どの人はhomebrew使ってますね。私はMountainLionなのでrbenvもrubyも手動で入れる予定です。 マージって、それぞれのどれを残すんですか?ruby.plistは消して、rubyフォルダだけ最新? ruby-104.tar.gzの中身は ruby-104 $ ls -1 Makefile extras/ gem.1 patches/ ruby/ ruby.plist >>20 >マージって、それぞれのどれを残すんですか?ruby.plistは消して、rubyフォルダだけ最新? ソースよく読んで考えるしかないね >>9 5ですけど、最近のバージョンからちゃんと左上のポップアップは出なくなりました。 >>20 MLでもbrewでrubyもrbenvも入れられるはずだけど、いかんのか? >>20 brew使わないのは自由だが、自助の力をもつ者だけが自由になれる >>23 MLでhomebrewはサポート外になったそうな。MLの最終版を使わせて欲しい所。 El Capitanなんだが、たまにGUI全部応答しなくなる事があり、sshログインして調べたんだよね。 結果ユーザーのUIDで動くdistnotedプロセスが暴走してた事が分かり、これをpkillするだけだった。 iPadからsshするのは面倒なので、プロセス監視するpythonスクリプト書いた。 この手のスクリプトをdemon化する方法があるのだろうか?ノウハウを解説しているサイトがあればを教えて欲しい。
>>30 LaunchAgents、LaunchDaemonsでググれ >>30 >この手のスクリプトをdemon化する方法があるのだろうか?ノウハウを解説しているサイトがあればを教えて欲しい。 com.apple.xxxx.plistをまねしたら良いだけ すっげー簡単 このスレに居る人間にとっては、ほぼ常識レベルだから貼らんでいい
ググれっていうのはここでもうやるなって意味も含んでるから
まあ、あとで同じ問題で困って検索で来る人がいるかもしれんから 貼ってもいいんじゃね。名前欄入ってりゃNGしたい人はできるし
今さら言うのもなんだが、distnotedの暴走の原因を探すのが筋だろ。 暗にNGにしますよ、とまで言われてんのにバッドノウハウ(誤用) 張って、、、
いやいや。distnoted は報告がたくさん上がってておそらくOSのバグだから おま環で暴走してるわけではないので、アレゲな解決法もやむなしだろう 擁護するわけじゃないが、流れに乗って変な叩きをするのはいただけない
他にも powerd とか OS のせいで勝手に暴走するプロセスあるのに、暴走の原因探せ(笑)
それなw >>40 あーそうそう、結局貼ったんだから el capitan スレにしたマルチの フォローもしときなよ一応 あれ、俺を叩く流れ?w 本当にOSなのか、手の打ち様が無いのかそっちを調べろって 言ってるだけなのに。 これで、Emacsの暴走とか、既知の原因だったら大笑いだけど
燃料投下になっちゃった。すまん。 まず、サーバ/プロセス間通信で使われるdistributed notification serviceはソースあったところでユーザーがデバッグ出来ないと思う。というか、distnotedが死んだ時点で遠隔デバッグさえ死んでしまう。 自分にはソース無し、シンボルファイルない状態で、sshログインしてデバッガ叩くスキルはないな。 現実的な対策が優先してしまうのはやむをえないと思う。
iTerm2 3.0.0が出たけど、まだ正式版ではなくテスト版扱いなの?
コロンを改行しようとした・・・ echo "a:b:c"| sed -E "s/:/\n/g" linux: a\nb\nc\n ←期待通り mac: anbnc ←おかしい?w なんでですかね? 他に試したのは良好でし sed -E "y/:/\n/" tr ':' '\n' awk 'gsub(/:/, "\n")' perl -pe "s/:/\n/g"
>>50 sw_vers -productVersion 10.11.5 $ echo "a:b:c"| sed -E "s/:/¥n/g" a¥nb¥nc 変だね あるべき姿は知らないけど、sedでその程度の置換ならオーソドックスに sed 's/:/¥ /g' でやっちゃえば FreeBSD由来ってかベースにしてるコマンドは、古いままとかパッチ取り込んでないとかあるし、Linuxと同じスクリプト使い回すとかならGNU版入れた方がいい気がする
@ sed -E 's/:/\\n/g' A sed -E "s/:/\\ /g" (\\の後に ^V ^J) こんなんじゃ駄目だろうか?
>>52 >GNU版入れた方が $ sw_vers -productVersion 10.11.5 $ strings /usr/bin/sed |head -1 $FreeBSD: src/usr.bin/sed/compile.c,v 1.28 2005/08/04 10:05:11 dds Exp $ $ echo "a:b:c"| sed -E "s/:/¥n/g" a¥nb¥nc $ gsed --version |head -1 gsed (GNU sed) 4.2.2 $ echo "a:b:c"| gsed -E "s/:/¥n/g" a¥nb¥nc 一般的にはそうだけど、今回は同じ。 $ sw_vers -productVersion 10.8.5 $ strings /usr/bin/sed |head -1 $FreeBSD: src/usr.bin/sed/compile.c,v 1.28 2005/08/04 10:05:11 dds Exp $ $ echo "a:b:c"| sed -E "s/:/\n/g" a\nb\nc
なんか頭こんがらがって来ちゃったけど、コロンを改行しようとしたって言うんだから、円マークはバックスラッシュに読み替えて解釈すんじゃないの? 他に試したのは良好とも言ってるし echo "a:b:c" | sed -E "s/:/¥n/g" は anbnc この4つ echo "a:b:c" | sed -E "y/:/¥n/" echo "a:b:c" | tr ':' '¥n' echo "a:b:c" | awk 'gsub(/:/, "¥n")' echo "a:b:c" | perl -pe "s/:/¥n/g" はどれも a b c GNU sed 4.2.2(ローカルに入れてみただけなんで頭の ./ は許せ) echo "a:b:c" | ./gsed -E "s/:/¥n/g" も a b c
>>51-58 とくにsedというこだわりないけど勉強になた。 同じ macのsedでも y/// と s///g で違うのも気になった 使うなら gsed か 後の言語のワンライナにしようと思います。 こういうことじゃないのか? Macに入ってるコマンドはBSD由来 LinuxはGNUからのモノで 名前が同じでも動作が微妙に違うってだけなんでしょ
昔、FreeBSDの環境変数IFSで似たように改行の処理にはまったことがあるな echo "a:b:c" | sed s/:/\\$'\n'/g
なんか話がすっきりしないなと思ってたけど、BathyScapheで見ると全部円マークだったのが、 Firefoxだと>>50 >>53>>57 >>65は普通にバックスラッシュになってる BathyScapheだとコピペしても円マーク Safariも全部円マークに見えてるけど>>50 >>53>>57 >>65はコピペするとバックスラッシュになる むずい... 同じコードに円マークとバックスラッシュを割り当ててるから どちらに見えるのかは、フォント次第なんじゃないかな?
Shift-JISのようだし見た目はしょうがないとして、コピペして結果が違うから紛らわしいし BathyScapheの問題かな 1462475819.thread を覗いたら上で書いたやつはバックスラッシュで格納されてた
Macも最新のsedを入れればgsedと同じかどうかは気になる。
echo "a:b:c"| perl -pe 's/:/\n/g' これで動いているのでMac版sedも同じように動いて欲しい所。
echo "a:b:c"| ruby -pe 'gsub(/:/, "\n")' これでもいける。
>>67 >同じコードに円マークとバックスラッシュを割り当ててる Windowsユーザが紛れ込んでいるなw OS Xのターミナル環境を使い始めたのですが、デフォのssh、sftpがemacsバインディング とかヒストリーとか(いわゆるreadline)をサポートしてないですよね?
もしかしてこれらをサポートするやつがどこかにあります?
>>76 日本語がよく分からないが、 $ sw_vers -productVersion 10.11.5 $ which ssh /usr/bin/ssh $ which sftp /usr/bin/sftp $ which emacs /usr/bin/emacs どれも、OSXに標準で入っているよ。 サポートってどういう意味で言っている? rlwrap 入れたら行けないかな 昔々このスレで教えてもらった
>>65 置換部分 \\$'\n' (逆スラッシュは半角) の解説おねがいします。解読不能w >>80 $'\n'は、man bash で $'string' を検索 Google等で「$'string' の形式を持つ単語は特殊な扱いを受けます」と検索してもOK \n はあくまで改行に展開される前の文字列であり、 実際の改行は echo '\n' (-eオプションはOS Xの場合、有効) で出力されたもの $'\n' の場合は \n と違い、実際の改行そのものと見なされる sedの正規表現にてクォート省略時はダブルクォートしてるのと同義なので、 あとは$を\\$してるだけ 空白使いたい時はこんな感じ echo "a:b:c" | sed "s/:/ "\\$'\n'" /g" 説明間違ってたらスマン どうも、というわけでrlwrapを入れて使ってみました... お、確かにemacs バインディングとかヒストリーが使えるようになりました。ありがとうございます。 しかし一点、sftpを対話的に使う時、リモートのファイル名をタブ補完できないようです。 Ubuntuから同じホストに入った場合はできるのでクライアント側の問題なんでしょうか。 残念。 MBPでUbuntuを起動する環境が整ったのでしばらくはそちらで... Retinaがめっさ解像度が高くて文字が小さい
そのうちUnixみたいなレガシーもばっさりと・・・
grace入れたんだが、パス通してxmgraceってターミナルで打ち込んでも Widget must be a VendorShell.ってのと Fatal Error:~ ってエラーが出て起動しない…
後発なので機能もそれなりに現代的なんだけど Windowsユーザー間でも知名度はイマイチっぽいんだよな。 Windowsサーバーやる人は必須だけど、それ以外は 自分の知る所ではあんまり関心なさげな感じ。 案外Win10のBashの方が伸びたりして。
案外も何もそっちが本命だろ。でもどっちにしろ板違いです
>>90 /usr/local/libにライブラリファイル以外入れるのは邪道だと思うんだ。 だからその意見には賛同できない。 Sierraのcurlなんだけど-qが効かないみたい 普段は.curlrcに--silent入れてるからいいんだけど進行見ながらやりたいときあるのに
alias vanilla-curl='CURL_HOME=/tmp curl' Sierraの環境はないから試せないけど -qの位置が2番目以降になってないよね?それこそalias展開とかで
その辺は問題ないはずなんだよね type -a見直したり実行中にpsしたり -qは最初だし 今 /usr/bin/curl -q でもやってみたけど変わらずだった 10.11のcurlを引っ張り出して-q有無でやってみたら想定通りだから環境変数とかでもないだろうし とChangelog https://curl.haxx.se/changes.html 見てみたらバグ有りバージョンぽいやw Fixed in 7.50.0 - July 21 2016 Bugfixes: curl: fix -q [regression] ↓ https://github.com/curl/curl/issues/842 -q doesn't work as advertised in 7.49.0 #842 Sierraのcurlは7.49.1 >>94 そんなら brew install curl でもしてから置き換えたら解決だな。検証乙 El Capitanまではターミナルでsystem.logからTime Machineのバックアップ状況を見てたんだけど、Sierraでできなくなったんでその代替 # tail -F /var/log/system.log | grep backupd の代替 log stream --level info --predicate 'processImagePath endswith[cd] "backupd" and senderImagePath contains[cd] "TimeMachine"' --style syslog # 出力すっきり版(そのままpipeに繋げたらなにも出なかったんでscriptを前置) # 長くて書き込めないんで \ で2行に分けたけど、\ の後に空白入っちゃうから2行一括のコピペ実行できないと思う script -q /dev/null log stream --level info --predicate 'processImagePath endswith[cd] "backupd" and senderImagePath contains[cd] "TimeMachine"' --style syslog | \ perl -pe 's/\.\d{6}\+0900 +/ /; s/\(TimeMachine\) \[com.apple.TimeMachine.TMLog(.*?)\] /$1 eq "Info" ? "" : "$1: "/ei' # grep backupd /var/log/system.log の代替(直近の1日分 --last 1d) log show --predicate 'processImagePath endswith[cd] "backupd" and senderImagePath contains[cd] "TimeMachine"' --style syslog --info --last 1d # 出力すっきり版は略
miniでsubversionの鯖立てたいんだがmod_dav_svn.soはどこにあるんだ?
USBシリアルを使うためbrewでminicomを入れたんだけど、Ctrl-Aがトラップ されないんだよね。なんでかな。もしかしてなんか別のキーにアサインされてる?
動画ファイル容量が計算出来ない。 find . -name ( *avi | *m4v | etcetc... ) | awk '{ total += $5 }; END { print total }' | numfmt --to=iec Linuxだとnumfmtらしい。numfmt以外にmacで何が良いコマンドありませんか? awk、numfmtでなく他の方法でもOKです。
Homebrewでcoreutils入れるとgnumfmtって名前で入るらしい あとはググってみたけどawk含め自前で換算ルーチン作ってるぽいよ
>>101 有難うございます。 find / -name \*txt 2>/dev/null -print0 | xargs -0 wc -c | grep total これでいけました。 OSがMountainLionなので、Homebrewは残念ながら消したんです。(^_^;) 最終版のまま使わせて欲しかった。。。
マジかよ numfmt --to=iec って書いてたんだから K とか M とか G とかで表示したかったんじゃないの??? しかも集計して見せたの動画じゃねーし くだらねー あれこれ調べて損したわ findとawkだけで十分じゃん 本当くだらねー
悩むくらいならperlかrubyで書いたほうが手っ取り早い例やね
Macでの文字化け対策用のGNU screenのインストール http://rcmdnk.github.io/blog/2013/03/22/screen-install/ ここを参考に、screen-4.4.0に文字化けpatchを当てる方法がわかりません。 対策方法はありますか? $ ls COPYING mktar.pl* screen-utf8-osc.diff incoming/ screen-utf8-nfd.patch src/ $ patch -p1 < screen-utf8-nfd.patch patching file src/ansi.c Hunk #1 FAILED at 725. 1 out of 1 hunk FAILED -- saving rejects to file src/ansi.c.rej patching file src/display.c Hunk #1 FAILED at 604. 1 out of 1 hunk FAILED -- saving rejects to file src/display.c.rej $ $ patch -p1 < screen-utf8-osc.diff patching file src/ansi.c Hunk #1 FAILED at 1493. Hunk #2 FAILED at 1621. Hunk #3 FAILED at 2255. 3 out of 3 hunks FAILED -- saving rejects to file src/ansi.c.rej patching file src/display.c Hunk #1 FAILED at 2885. Hunk #2 FAILED at 2926. 2 out of 2 hunks FAILED -- saving rejects to file src/display.c.rej patching file src/layer.c Hunk #1 FAILED at 439. Hunk #2 FAILED at 474. 2 out of 2 hunks FAILED -- saving rejects to file src/layer.c.rej patching file src/screen.c Hunk #1 FAILED at 3080. Hunk #2 FAILED at 3130. 2 out of 2 hunks FAILED -- saving rejects to file src/screen.c.rej
>>111 メッセージは変化ましたがエラーのままでした。 $ patch -p2 < screen-utf8-nfd.patch patching file ansi.c Hunk #1 FAILED at 725. 1 out of 1 hunk FAILED -- saving rejects to file ansi.c.rej 大きいパッチじゃないし失敗結果みて手修正できないの?
>>92 >>94 10.12.2でcurl 7.51.0になってやっと直った grep をless でカラー表示したいです。source-highlightをインストして.bashrcを設定しましたが カラー表示されません。grep -R hoge */*.txt とするとカラー表示されます。 どうすればいいでしょうか? $ less --version less 418 Copyright (C) 1984-2007 Mark Nudelman $ set | grep LESS LESS=' -R ' LESSCHARSET=UTF-8 LESSOPEN=' | /usr/local/bin/src-hilite-lesspipe.sh %s' $ less --version less 487 (POSIX regular expressions) Copyright (C) 1984-2016 Mark Nudelman でも同じでした。
ターミナルのデフォの設定だとbash起動はloginシェルになるから.bashrc読まないけど、インタラクティブシェルで起動するか自分で.bashrc読ませるようにしてるの?
そういう問題じゃなかったね setで見えてるんだから ごめん
>>120 ありがとうございます。 $ set | grep LESS LESS=--RAW-CONTROL-CHARS LESSCHARSET=UTF-8 LESSOPEN='|/usr/local/bin/src-hilite-lesspipe.sh %s' としてみましたがダメでした。 export PAGER=less export LESSOPEN='|/usr/local/bin/src-hilite-lesspipe.sh %s' export LESS='-R' でもダメでした。 ls -Gで色はでるので、ls -G | less -Rだとダメです。
そりゃlsはパイプで繋いだら普通そうなるだろ man ls CLICOLOR_FORCE Color sequences are normally disabled if the output isn't directed to a terminal. This can be overridden by set- ting this flag. The TERM variable still needs to refer- ence a color capable terminal however otherwise it is not possible to determine which color sequences to use.
$ unset LESS LESSOPEN して、 $less -R /usr/local/bin/src-hilite-lesspipe.sh すると色なし。 source .bashrc して $less -R /usr/local/bin/src-hilite-lesspipe.sh すると色があります。src-hilite-lesspipe.shのバグかもしれません。 $ bash --version GNU bash, version 3.2.53(1)-release (x86_64-apple-darwin13) src-hilite-lesspipe.shのソース #! /bin/sh for source in "$@"; do case $source in *ChangeLog|*changelog) source-highlight --failsafe -f esc --lang-def=changelog.lang --style-file=esc.style -i "$source" ;; *Makefile|*makefile) source-highlight --failsafe -f esc --lang-def=makefile.lang --style-file=esc.style -i "$source" ;; *.tar|*.tgz|*.gz|*.bz2|*.xz) lesspipe "$source" ;; *) source-highlight --failsafe --infer-lang -f esc --style-file=esc.style -i "$source" ;; esac done
>src-hilite-lesspipe.shのバグかもしれません。 違うだろ $ set | grep LESS LESS=-R LESSOPEN='|/usr/local/bin/src-hilite-lesspipe.sh %s' $ less /usr/local/bin/src-hilite-lesspipe.sh で色付くが src-hilite-lesspipe.shの中同じ
ワイルドカードはシェルによって展開されることを理解してないのかな 結果はともかく解説の文章が謎すぎる
Macの起動時にpushbulltetを使ってiPhoneに通知をしようと考えています。 試したこと。 push2bullet.shというファイル名で #!/bin/bash CURL=/usr/bin/curl PUSHBULLET_TOKEN=pushbulltetのトークン PUSHBULLET_TITLE=マシン名 LANG=ja_JP.utf8 ${CURL} --header "Access-Token: ${PUSHBULLET_TOKEN}" \ --header "Content-Type: application/json" \ --request POST \ --data-binary "{\"type\": \"note\", \"title\": \"${PUSHBULLET_TITLE}\", \"body\": \"$1\"}" \ https://api.pushbullet.com/v2/pushes boot2push.shというファイル名で、 #!/bin/bash push2bullet.sh "Mac を起動しました" を作成しました。 boot2push.shを実行したら、iPhoneにはタイトルが「マシン名」本文「Mac を起動しました」と通知が来ます。 続く。 LaunchAgentsにはboot2push.sh.plistという名前でこう書きました。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd" ;> <plist version="1.0"> <dict> <key>Label</key> <string>boot2push.sh</string> <key>ProgramArguments</key> <array> <string>/bin/bash</string> <string>/Users/ユーザ名/Script/push2bullet.sh</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist> 上記をLaunchAgentsに登録しましたが、「Mac を起動しました」の文字が表示されません。なぜでしょうか? また、起動時の時刻、IPアドレスも表示せたいんですが、それらは可能でしょうか? pushbulltetにこだわっているわけでは無いので、他にいいツールがあれば教えていただきたいです。よろしくお願いします。 >>131 <string>/bin/bash... この行は要らぬな めんどくさいから試してないけど ・そもそも launch agent として登録できているのか ⇒スクリプトの中身を plist に直書きするとか、処理を簡単なものにして実行を確認する ・そもそも起動直後にネット接続できているのか ・ログにエラーは出ていないのか まずその辺の検証を単純なコマンドで実施したほうがいいだろう e.g. curl example.com -o test.htm 時刻は date で IPアドレスは curl https://httpbin.org/ip とかで 適当にできるだろう plutil -lint と launchctl list かな
>>132 >>133 >>134 どうもありがとうございます plutil -lint ではOK、launchctl listにも登録されています。 Macの起動時にiPhoneに通知もされるんですが、>>130 ここの下の方の『Mac を起動しました』の文字が出せないのはなぜだろうかと思っています。 Pushbulletでdateやcurlのコマンドの結果も送れるんでしょうか? pushbullet-bushでコマンドが使えるようなのでちょっと試してみます
>>135 ごめん、起動時にも通知自体は来るっていう意味だとは読み取れなかった この "Mac を起動しました" を直接 .plist の <array> に push2bullet.sh の引数として指定するのは試した? ん? というかよーく見たら>>131 で発動してるのって push2bullet.sh じゃん 発動したいのは boot2push.sh では? >>138 その通り、間違えていました。 上のコマンドで「Mac を起動しました」が表示されないわけが分かりました。 どうやら >>130 のboot2push.sh内の「"」がLaunchAgentsのboot2push.sh.plistではコメントアウトとして扱われるようなので、「"」で囲まず「Mac\ を起動しました」とすればよさそうでした。 起動時刻を通知させたかったので、ちょっと、方法を変えてpushbullet-bashでやってみることにしました。 pushbullet push [送りたい先の端末名] note [タイトル]で通知を飛ばせるそうです。 コマンドAの結果をコマンドBに送るには、「 | 」で区切れば良いことが分かりましたので、 boot2push.sh、boot2push.sh.plist、この二つを使いました。 boot2push.shには、 #!/bin/sh date | pushbullet push iPhoneの名前 note Macの名前 \が起動しました boot2push.sh.plistには、 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd" ;> <plist version="1.0"> <dict> <key>Label</key> <string>boot2push.sh</string> <key>ProgramArguments</key> <array> <string>/Users/ユーザ名/Script/boot2push.sh</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist> とすることで、タイトルがMacの名前が起動しました、本文がdateの結果の通知がiPhoneに届いてくれました。 あとは、IPアドレスを表示させたいんですが、 コマンドA(date)、コマンドB(curl ほにゃらら)、この2つを行を変えてコマンドC(pushbullet push ほにゃらら)に送ることは可能でしょうか? >>137 <array>について調べてみます。 連投すみません。 dateの結果、curlほにゃららの結果をひとつのlogファイルに記録し、そのlogファイルの中身をpushubulletで送ったらlogファイルを削除するスクリプトを書いたらよいのかなって思ってます。
わざわざスクリプトや関連ファイルをいくつも作ると>>138 のようなマチガイの元だよ 変数の使い方はわかってるようだし、date とかの結果を変数に入れる方向で 調べてみたら? Macの純正キーボードでbyobuのウインドウを縦に分割するにはどうしたらよいですか? control+fn+F2やcontrol+F2を押しても無反応です。
control+F2ってOSデフォで使われてるけどそっち解放したか
どうもありがとうございます システム環境設定のキーボードから試しにコントロール+F2の「メニューバーを操作対象にする」のチェックを外してコントロール+F2を押してみましたが、縦に分割されず新しいウインドウが出来るだけでした。 コントロール+ファンクションキーの他のショートカットも全て効かずファンクションキーとしか認識されませんでした。
ああ、TERMの設定にもよるだろうが、Terminalデフォルトのキー設定はちゃんとしてるっぽい F2はあるが、Control+F2の設定が無いってだけじゃないのかな。追加すればいいような
>>148 ああ、解決したのね フルキーボードの10キーとの間にあるやつだなあ。Appleのキーボードでも。フルキーボードでないAppleのキーボードではFnと同時押しであったようななかったような >>149 >>148 このOption 2の設定をしないとctrlキー+ファンクションキーのショートカットはどれも動きませんでした。 >>150 >>151 INSはインサートキーなんですね。それ以外の2つが謎です。ベージアップ、ダウンですかね? まぁ、今まで使ったこと無いからきにする必要無いかもです。 >>152 ページアップとページダウンだろね。Command+Control+↑とCommand+Control+↓にでもしとけばいいんじゃね ショートカットというか機能キー/修飾キー+文字キー機能キーというかは、 1) システムレベル(Misson Controlとか)でショートカットキーとして設定されていたら、そこで使われアプリ(Terminal.app)までは来ない 2) アプリでメニューなどのショートカットキーと設定されていたら、そのメニューコマンドの実行とされる 3) Terminalの環境設定のキーボードで設定されていたら、そこで設定された文字列を打ったのと同等として文字列を送信する 4) 実行すべきコマンドが無いとビープ音が出る って、とこかな かな。最初のCommand+Control+↑とかも、Command+↑がTerminalでメニューコマンドのショートカットとして使われているからであって、それを外せばCommand+↑をPage Upにできるだろうね(Command+↑がPage Upらしいけど、Appleの代替キー定義では。ちゃうやんw) >>152 ちょこっとググってみたところ、PPAGE は Previous Page、NPage は Next Page のような気がする。 PPAGE/NPAGEの名前付けはその意味でだろうね。 { KEYC_HOME, "¥033[1;_H" }, { KEYC_END, "¥033[1;_F" }, { KEYC_PPAGE, "¥033[5;_~" }, { KEYC_NPAGE, "¥033[6;_~" }, { KEYC_IC, "¥033[2;_~" }, { KEYC_DC, "¥033[3;_~" }, から、フルキーボードのカーソルキーの上の6キーのうちのって思うけど。ICはInsert Character/DCはDelete Characterかな だいたいキーボードの表記はページアップ/ページダウンだね。Appleの新フルキーボードでも。英語(ASCII)は。日本語(JIS)は右Option/Controlといいドイヒーだなw >>153 2と3の間に、「制御コードキー(Control-cとか)だったら制御コードを送信」が入っているな。まあ、いいかだったが、ついでなので追加 どうもありがとうございました。 特定のアプリ(iTerm、ターミナル)の時だけ、ファンクションキーをfnキーを押さなくても使えるようにしする事はBTTで出来ますか? それらのアプリ以外ではミッションコントロールや輝度や音量をそのまま使いたいです。
Fnはちょっと特殊すぎるキーだからBTTでは無理じゃないかなあ Fn使わない&Fnの代わりにOption+Shift(Option+Shiftは他の修飾キーでもいい。単に普通使わないってだけ)でならBTTでもできるけど Sierraにまだ未対応だけどKarabinerならアプリケーション毎にまたFnも認識制御できるようなので可能だろうなあ。Karabiner Elements や他のそゆのは知らないので他の人が知っていれば、どうか
どうもありがとうございます。 ファンクションキーの奥に置ける薄型でメディアコントロールキーとして使えるような入力デバイスをググってみたんですけど既製品としてもなかったです。
byobu(tmux)でVimの中の複数行をコピーすると、行番号までコピーされてしまいます。 行番号はコピーしないような設定はありますか?
viで行番号を非表示にサクっと切り替える&終わったらサクっと戻す また、お前かw
なるほど! ありがとうございました。 またわたしです汗
Linuxにログインして作業してる時はbashとかzshとかfishのどれであっても日本語のコンソールのメッセージがでますが、Macだと英語のメッセージしか出ません。 どうやったらMacでも日本語にできますか?
>>163 いちばん簡単なのは、brewでbash入れたら確かそうなる zshやfishはhomebrewで入れても英語のままでした外国人これは日本語化はむりですか?
macに日本語を入れるより おまえの頭に英語を入れるほうが楽
>>163 >どれであっても日本語のコンソールのメッセージがでます ダウト! > どうやったらMacでも日本語にできますか $ gls --help |head 使用法: gls [オプション]... [ファイル]... List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is specified. Mandatory arguments to long options are mandatory for short options too. -a, --all . で始まる要素を無視しない -A, --almost-all . および .. を一覧表示しない --author -l と合わせて使用した時、各ファイルの作成者を表示する -b, --escape 表示不可能な文字の場合に C 形式のエスケープ文字を表示する --block-size=SIZE scale sizes by SIZE before printing them; e.g., 日本語がでるなぁ。 LANGとLC_MESSAGESでしょ Linuxと違って標準のコマンド群はほとんどローカライズされてないけど
個人的にはコマンドラインが日本語だと違和感あるし mac はちょうどいい
ディレクトリのことでちょっと質問お願いします。 Mac上ではディレクトリのタイムスタンプはそのディレクトリ内にある最新のファイルのタイムスタンプに同期している(みたい)のですが、SFTPで接続しているLinuxサーバーの方はそのディレクトリの作成日からずっと変わらないです。 Macのような方式(?)の方がファイルの更新状況を確認するときに便利なのですが、LinuxのディレクトリのタイムスタンプをMacみたいにする方法はないですか?
macOSでも、内容物のタイムスタンプが変わっただけではディレクトリのタイムスタンプは変わらないようだけど。既に存在するファイルをtouchしても変わらない Linuxでも中のファイル/ディレクトリの削除・追加・名称変更で構成が変わる(inodeの変更?)とタイムスタンプは更新されるな(名称変更は名称変更されたファイル/ディレクトリそのもののタイムスタンプは更新されない) 言うようにmacOSがというように見えるのは、ファイルセーブで上書きではなく別に保存して既存とチェーンジなのがかなあ?そういうAPIがあり、アプリがそれを使ってるなら&OS内でもそれを使ってるとかかな?(チェーンジは確かinodeを弄るだけだから高速&安全だったような)
何を言っているのかわからん Terminalでtouchして、Finderで見てるんだけど。Linuxも(afpマウントして) 何が違うのかちゃんと自分で確認してからだな
(隠れてナニカが頻繁に更新されている)Library見たって、 >Mac上ではディレクトリのタイムスタンプはそのディレクトリ内にある最新のファイルのタイムスタンプに同期している わけではないってわかるだろう。そのように見えるのもあるが、そうでないのもあるってことで
今、外にいるから確認できないけど、 あれかな、 いつも 〜/サイト/ にいて、そこから下位ディレクトリのファイルをVimで編集してるから、なんかVimがやってるのかな? 帰ってから確かめるね。 でも、その下位のディレクトリのタイムスタンプが常にファイルの更新日時になってるのは確かなんだよね
vimは編集中に同じとこに、作業ファイル作るけど。.隠しのswpファイル ファイルが増えたり消えたりしてるんだから、そりゃ変わるだろ
単なる勘違いでmacOSもディレクトリのタイムスタンプの更新は(ほぼ)同じだろう てか>>176 なんて、>>171 の趣旨と関係ない、てか、望みの動作だろうが、何言い出してんだかだぞw ちゃんと、何が違うのかちゃんと自分で確認してからだな そのvimだのsftpだのはmacOSでもできるんだから、LinuxからmacOSにsftpでもいろいろやれよっw Xcodeでオープンしたファイル・フォルダとかドラッグアンドドロップされたファイル・フォルダのファイルに対してユニックスコマンドを実行するアプリってどうやって作ったらいいの?
ユニックスコマンドは標準のものじゃないからアプリ内に内蔵したい
このスレの話題じゃないけど systemでもpopenでもNSTaskでも使えば
>>179 一番楽なのはAppleScript tell application "Xcode" tell front document do shell script "touch " & (quoted form of (path as string)) end tell end tell sshについての質問です ローカルにある別のMacやLinuxへのssh接続ですが、ipアドレスを指定した場合は一瞬で繋がるんですが、マシン名.local を指定した場合、オプションで 「-4」を付けないと繋がるまで数分かかってしまいます 接続時にIPv4を指定しなくともすぐに繋がるようにするにはどうしたらいいでしょうか? とりあえず、手元のMacの~/.ssh/configで Host * AddressFamily inet と指定することにしました 接続先のマシンの 「/etc/ssh/sshd_config」を AddressFamily inet UseDNS=no この二つを変更したんですが、一向に改善しません また、~/.ssh/configで「Host *」「AddressFamily inet」と指定しても、鍵認証でKryptoniteを使うと特定の接続先のMacへのみ時間がかかってしまいます。 ~/.ssh/configでKryptonite関連をコメントアウトするとすぐに繋がります。
alias ssh="/usr/bin/ssh -4" を、bashに定義しとくのが簡単&確実じゃないの
とりあえず、手元のMacの~/.ssh/configで Host * AddressFamily inet6 と指定したら、繋がらない(相手側のIPv6は殺してあるので)から設定は効いているんじゃないかなあ
>>187 ほげほげ.localへの接続の際、-4を指定しないと時間がかかってしまうのは通常の動作なんでしょうか? もしそうなんであれば、configやエイリアスでの対処であとは気にしないことにするんですが。 時間がかかるってどの程度かわからんし。んな気になる時間がかかることはないな。インターネット越しでも複数のホストへの接続してるけど なんか知らんが、一番下のが原因じゃないの?わざわざ書いてたり&原因それかよっtぽい書き方で Kryptoniteって知らんかったが、そりゃってのだし、対象のホストでなくてもなんか試行してるとか
すまん「数分」ってあったな。すまん。そりゃないな localだから同一セグメント内でのBonjourで名前解決か?なんかしくってるのもありそうだな。名前解決やIPv6接続周りで。IPv6有効だったらIPv6で先にとかありそう
ああ、ちなみに、 localへの接続の際、-4を指定しないと時間がかかってしまうのは通常の動作 ではないな。家でも出先でも。数分とかありえん
/etc/hosts に登録しておいたらあかんの?
GPTな、NTFSのパーティションが二つある外付けディスクで片方をJHFS+にフォーマットしたいん だけど、エラーになってしまう。 具体的には、diskuitl で eraseVolume すると "Error: -5344: MediaKit reports not enough space on device for requested operation" と。GUIの方でも同様。 なんでしょうこれ。既存のパーティションをフォーマットするだけのはずだが。 一旦Windowsでパーティションを触ってるのでなんか非互換になってるとか? OS X上で最初からやらんといかんのかな。
$ diskutil list /dev/disk0 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *3.0 TB disk0 1: EFI EFI 209.7 MB disk0s1 ... っていう(1のEFI)のが必要らしいけど、存在しないとか?
なんかあるな程度にしか気にしたことなかったが、使ってないらしいやんけっw 使ってないのにdiskutilはそれがありきでエラーとか??んー、まあ、らしいけどw
ああ、Windowsだとこれが100Mらしい。存在していても209.7 MBでなかったりかな
☆ 私たち日本人の、日本国憲法を改正しましょう。現在、 衆議員と参議院の両院で、改憲議員が3分の2を超えております。 『憲法改正国民投票法』、でググってみてください。国会の発議は すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
NHKラジオニュースを任意のタイミングで聴ければと思うんですが、コマンドラインやSiri、LaunchBarからの操作で聴くにはどんな方法がありますか? たとえば、Siriにニュース流してと言ったり、LaunchBarにニュースと打ち込めば、ラジオニュースの最新分が流れ、最後まで流れると再生アプリが自動で終了するって感じになればと思っています。 http://www.nhk.or.jp/radionews/ Unixと全く関係なさげ。「コマンドラインや」ってあるけどそれだけで全く触れてないし それに全くなにを聞きたい/やりたい/自分でどこまでできるのかがわからなさすぎ ラジオニュース再生するアプリはどうすんの?あるの?ポッドキャストをiTunesやPodcast用アプリでなの??なんか一か十まで聞きたそうにしか見えないなあ
SiriやLaunchBarでは、NHKニュース再生アプリのエイリアスを「NHKニュース」という名前で作れば出てくるんじゃないのとは思うけど。「NHKニュース」だったら他にも引っかかるかもしれんけど
>>200 スクレイピングして mp3ファイルをダウンロードして afplayで再生 mplayer ならurl与えれば再生してくれるから、ファイル処理は不要
どうもありがとうございます 今ググってたらmpg123でもできました
SleepWatcherでsudoが必要なコマンドを自動実行したいのですがどうすればいいですか echoでパスワードを書くのは避けたいです
>>206 Siriで任意のコマンド/アプリを実行するにはSiriKit使ってアプリを作る必要がある iTunesに入れとけばSiriから曲名で呼び出せる Siriじゃなく音声入力なら任意のアプリを実行可能 アクセシビリティから設定 パスワードを自分だけrwできるファイルに書いといて cat そのファイル | sudo -S でいけんかね? ダセーけど
sudoersをいじる方法と、pwをkeychainに保存してsecurityコマンドで引っ張る方法があった希ガス
#! /usr/bin/python import urllib2, re if __name__ == "__main__": src = "http://www.nhk.or.jp/r-news/podcast/nhkradionews.xml" ; xml = urllib2.urlopen(src).read() url = re.search("http.+?¥.mp3",xml).group(0) print url これをcurrent_news.pyとか名前をつけて、実行権限付与してどっかに保存 mplayer `/path/to/current_news.py`で動くはず エラー処理はこれっぽっちもしてないので、podcast登録してitunes叩く方が無難かも あ、スクリプトの段下げしてる部分は半角スペース4つで置き換え、 ¥は半角バックスラッシュで置き換えで
ありがとうございます 別の質問になるんですがNASのマウントを自動実行するコマンドはありますか /volumes以下にマウントポイントを作るには管理者権限が必要になり mountコマンドを管理者権限で実行してしまうとFinderから見えない状態になります これらの一連のコマンドをsudoを使わずに実行できれば幸いです mountコマンドで所有者が指定できればいいのですが よろしくお願いします
>>215 試してないけど、マウントポイントのディレクトリに該当ユーザのw権限つければできんじゃね? こんな感じで権限全部付与して見たがsudo付けないと中身見れない drwxrwxrwx 1 root wheel 16384 3 18 18:56 Share
マウントを自動実行したいだけだったら、なんかアレだが、Finderでマウントして、そのボリュームのエイリアスを作り、エイリアスを開けば勝手にマウントしてくれる open そのエイリアス(ファイル) ってコマンドを実行するようにすればFinderで手動でと変わらない。byエイリアス好き Finderでのマウント/エイリアスのマウントと同じこと(openでなく)できるのがコマンドでありそうななさそうな
ていうか、そもそもどういう時にどういう事をやりたいのか書いた方がいいんじゃないの なんかそこだけ切り出して質問する奴多いけどさ
ちなみに、エイリアスはボリューム限定なわけではなく、ファイルサーバー中にあるファイル/フォルダ(ディレクトリ)でも、エイリアス開けば勝手にマウントしてのファイル/フォルダが開く
ああ、>>215 で別に基本的に問題はないな sudo mkdir /Volumes/Hoge sudo chown yourname:staff /Volumes/Hoge mount_smbfs smb://... /Volumes/Hoge ってすればいいだけのよう。Finderでアンマウントしたら、/Volumes/Hoge も消されるという、Finderでのマウントと変わらんな マウントポイントの作成(chownも含め)が、/Volumes が管理者権限が必要なディレクトリってだけで、作ってしまえばマウント自体は管理者権限いらんな ありがとうございます これをログイン時に自動実行したいのですが 管理者権限じゃないとダメなのでログイン項目は使えず LoginHookもいいんですけど仮にコマンドが終了するまで時間がかかる場合 デスクトップが表示されるまで待たされてしまうんですよね いい方法ないですかね
エイリアス&openコマンドを使えw管理者権限全くいらないよ Script EditorかAutomatorでアプリ作ってそのアプリをログイン項目に入れればいいんじゃね マウントポイント作成に管理者権限が必要でも、シェル(そのもの、もしくはAppleScriptでのdo shell script)でその部分だけ管理者権限で実行にできるから「管理者権限じゃないとダメなのでログイン項目は使えず」なんてことはないよ
>LoginHookもいいんですけど仮にコマンドが終了するまで時間がかかる場合〜 echoでパスワード書きたくないというわがままw(わからないでもないけど)もありでこれなのか バックグラウンドに投げてしまうか、atで1秒後に実行予約入れて終了にすればいいんじゃないの
複数のaacファイルがあります。 それらをファイルを以下のコマンドで変換したいんですが、ファイルの数だけコマンドを入力するのでは無く、一気に処理するにはどのように書けばよいでしょうか? muxer -i 1.aac\?sbr --file-format m4a -o 1.m4a muxer -i hoge.aac\?sbr --file-format m4a -o hoge.m4a
>>225 シェルスクリプトでループさせる ffmpegなら -i infile1 -i infile2 -map 0 outfile1 -map 1 outfile2みたいのも出来るけど インプット別にアウトプットを作成したいならループで一つ一つ処理したほうが何かと便利 >>227 ありがとうございます フォルダの中のaacファイルを全て変換対象として、ファイル名は同じにしようと思ってこのように書いたんですが、${bbb%.aac} の部分の書き方がよく分からず、エラーになってしまいます。 どう書けばよいですか? for bbb in $(find . -name *.aac); do muxer -i $bbb?sbr --file-format m4a -o ${bbb%.aac}.m4a done これでいけました。 どうもありがとうございました。 for bbb in *.aac; do muxer -i $bbb?sbr --file-format m4a -o ${bbb%.aac}.m4a done
>>228 シェルスクリプトのスレで聞いたほうがいいんじゃないか? $ cat for-loop.sh #! /usr/bin/env bash for file in "$@"; do echo "-----" echo "input : $file" echo "output: ${file%.*}.m4a" done $ ls *.aac bar.aac foo.aac $ ./for-loop.sh *.aac ----- input : bar.aac output: bar.m4a ----- input : foo.aac output: foo.m4a >>230 どうもありがとうございます そのようなスレもあったんですね 書き込んでくれたスクリプトを調べてみます >>229 この書き方だとaacファイルが無いとエラーが出てしまいました。 aacファイルが有るときのみ「muxer〜」を実行するにはどう書いたらよいですか? if文を使うのかな?と思っていますが、for文との組み合わせが分かりませんでした。 /bin/ls -1 *.aac | while read bbb; do
ああ、同じくエラーが出るか。安直に /bin/ls -1 *.aac 2> /dev/null | while read bbb; do
>>235 ありがとうございます。 エラーは出なくなりました。 ./hoge.shだけを動かしたらカレントディレクトリ内のaacファイル全て ./hoge.sh hoge.aac と指定したらその指定したaacファイルのみ スクリプト実行後、aacファイルが存在しない場合はその旨を通知して終了 aacファイルがある場合は、次へ そのaacファイルを何らかの方法で調べ(mediainfoのFormat profile欄?)、 HE-AACの場合は muxer -i file.aac?sbr --file-format m4a -o file.m4a 通常のAACの場合は muxer -i file.aac --file-format m4a -o file.m4a を実行 変換したファイル数を通知して終了 ってやる事も出来ますか? ifを試してみてるんですが、これだとmuxerでエラーになってしまい変換出来ませんでした。 file () { /bin/ls -1 *.aac } if [ -e $file ]; then # aacファイルが存在する場合 muxer -i $file?sbr --file-format m4a -o ${file%.aac}.m4a else # aacファイルが存在しない場合 echo "aac ファイルはありません." fi
まあ、ググってるんだし勉強してる姿勢はあるからな。そう無下には...と、思うが、さすがに安易に聞きすぎではあるな >>236 全然できる >>237 んー、むちゃくちゃw もちょっとちゃんと勉強しよう。なぜ関数てか関数てのもわかってないか。man testを見よう >>238 >>239 file () {をやめて、一番最初に教えていただいたforとifを組み合わせることで、ファイルが有るときは全て処理して無いときはメッセージを出す事が出来ました。 ただ、testのmanを見た感じでは[]の使い方間違えている気がしています。 for file in *.aac; do if [ -e $file ] ; then # aacファイルが存在する場合 muxer -i $file?sbr --file-format m4a -o ${file%.aac}.m4a else # aacファイルが存在しない場合 echo "aacファイルはありません." fi done HE-AACか否かは、 mediainfo $file | awk '/HE-AAC/' の結果で判断してifの下にelifをつくってそこでそれぞれmuxerを行えば良いのかなと思いました。 ググります。 ↓これを ./hoge.sh で実行する場合と ./hoge.sh 1.aac 2.aacで実行する場合とで比べてみて #! /usr/bin/env bash echo "¥$#: $#" echo "¥$@: $@" echo "¥$1: $1" echo "¥$2: $2" echo "¥$3: $3" func() { echo "---inside func---" echo "¥$#: $#" echo "¥$@: $@" echo "¥$1: $1" echo "¥$2: $2" echo "¥$3: $3" } if [ $# -eq 0 ]; then func *.aac else func "$@" fi
オライリーの入門bashを買ってきました 難しいです・・・ HE-AACと通常のAACで変換の仕方を分けたいんですが、elifの書き方が間違えているようです。 コマンド周辺を[]か()か{}で括ったりechoで出力しなければいけないんでしょうか? 本を読んでみます。 for file in *.aac; do if [ -e $file ] ; then # aacファイルが存在する場合 # HE-AACの場合 elif mediainfo $file | awk '/: HE-AAC/' = "Format profile : HE-AAC / LC"; then muxer -i $file?sbr --file-format m4a -o ${file%.aac}.m4a #AACの場合 elif mediainfo $file | awk '/: LC/' = "Format profile : LC"; then muxer -i $file --file-format m4a -o ${file%.aac}.m4a #.aacで終わるファイル名だけど、上のどちらでも無い場合 #elif どうかくのかな; then else # aacファイルが存在しない場合 echo "aacファイルはありません." fi done >>242 試してみました 前者の方は---inside func---以前は¥:だけで、 後者の方は---inside func---以前以後同じ表示でした これらがPositional Parameter(位置パラメーター?)の例かと思ったけれど、それだけじゃなく、今自分がやりたい事のヒントがいくつも入っている気がしました。 >>241 新Mac板内だと思っていました。 移動したほうがいいでしょうか? >>245 どうもありがとうございます 移動します みなさんありがとうございました おかげで大分進みました bashrefならわざわざ他所見なくたって昔から入ってるだろ んなことも知らんのか... /usr/share/doc/bash/bashref.html /usr/share/doc/bash/bashref.pdf
plistの特定の値だけコピーするシェルスクリプトを書きたいのですが、マルチバイト文字が "¥U307e"のような表記になってしまいます(¥はバックスラッシュ) 何か回避する方法ないですかね…? _VAL=$(defaults read "/Volumes/OtherMac/Users/other/Library/Preferences/pbs" NSServicesStatus) defaults write "pbs" NSServicesStatus -dict "${_VAL}"
pbs特有の話? ならそのキーしかないみたいだからファイルごとコピーしちゃう でpbsとcfprefsdを殺すかログインし直す
>>248 $ echo -e “¥U307e” $ printf “¥U307e” bashなら4.2以上が必要 ログイン項目の非表示にチェックを入れた時と同じような動作を ターミナルから実行するにはどのコマンドを使うのでしょうか?open?
osascript -e 'tell application "AppName" to run'
ああ、-g は man にも載ってたな。-j は man に無い(無いよな?w)が、open --help にはあるね
folderをpackageにするにはどういうコマンドを使うの?
フォルダの名前を変更して,拡張子.pkgを付ければ パッケージになるよ って,そういう話?
>>258 拡張子なくてパッケージ(バンドル)なのがあるじゃん アレなんかフォルダにフラグ立ってるって聞いたときあるけど どうすれば愛かわからなくて Finderが特定の拡張子のフォルダをパッケージに見せてるだけだろ
>>261 ううん ビデオのAVCHDファイルに 拡張子ないよ ああ、まだ SetFile/GetFile/GetFileInfo って現役というか存在するのね Xcode.appの中にあった。たぶん、Command Line Tools for Xcode にもあるだろう じゃ、SetFile で
>>263 ありがとう 確かにパッケージになりました ただ 残念ながら QuickTimeで開けられるAVCHDファイルにはならなかったので (パッケージフォーマットのファイルを開けませんと出る) 本物のAVCHDファイルってただパッケージなだけじゃないのね バンドルは単なるバンドルだからな どういう書類(パッケージ?バンドル)かを指定するのは、また、別。指定してなければデフォルトのなんらかに対するっていう 「どういうバンドル/パッケージ」というのがあれば/付けなければじゃないとね まさか、Type/Creatorと未だに生きているわけでもないので、UTIが拡張属性にあるんじゃね。もしくはInfo.plistかな?
正直AVCHDなんて知らんw パッケージだの言ってるのは、 VIDEO のことか?AVCHD Content って、macOSの正式なバンドル方法じゃないんじゃないの。SDとかHFS+なりmacOS固有のFile Systemでなんてなさそうだし 単に内容物が固有の形式ってだけとか。サンプルよこせ、もしくはどこからダウンロードできるか教えろw >>268 ファインダではパッケージで パッケージを表示で中が見れる うーん一体本物とどこが違うんだろ >>267 ターミナルでも無いから >>269 Finderが特定の内容物/ファイル構造のをパッケージの一種として扱ってるだけだと思うけどな、もうw 拡張子だのバンドルフラグというmacOS正式/固有のとは全く関係ない、そのファイル構造だけを特別に意識しての やっぱ最初に背景とか前提とか出してない奴に付き合うもんじゃないな
いや、素人さんなだけだろ。素人でなくて仕事としてっぽくもあるけど
AVCHDの規格に則っていないファイル群をただパッケージ化したところでそりゃ読めないよな
FinderがAVCHDをパッケージと見なすのはとても単純な条件だった の前に、BDMVをパッケージと見なすのも簡単な条件 ディレクトリ名がBDMVであることと、その中にindex.bdmvとMovieObject.bdmvの二つのファイルがあること AVCHDは、 ・ディレクトリ名がAVCHDであることと、その中にAVCHDTNディレクトリとBDMVパッケージがあること ただ、これだけ mkdir AVCHD;mkdir AVCHD/AVCHDTN;mkdir AVCHD/BDMV;(cd AVCHD/BDMV;touch index.bdmv MovieObject.bdmv) これは単にどうパッケージとみなしてるにすぎなく、QuickTimeなんぞでちゃんと読めるようにするには別の話で内容をちゃんとしなけりゃだけど
ああ、たまたまめっけた https://www.videohelp.com/software/tsMuxeR でBDMVが作れたので試し、MovieObject.bdmvとindex.bdmvはそれで作られたそのまんまだった INDEX.BDMとMOVIEOBJ.BDMでもいい。なんか大文字だの小文字だのでなんやかんやとかあったりするからどっちかじゃなきゃ読めないアプリがあるかもね。どっちがいいのかは知らん(大文字の方かな、やっぱ) mkdir AVCHD;mkdir AVCHD/AVCHDTN;mkdir AVCHD/BDMV;(cd AVCHD/BDMV;touch INDEX.BDM MOVIEOBJ.BDM) macOS流は、 UTTypeDescription = "AVCHD Collection"; UTTypeIdentifier = "public.avchd-collection"; UTTypeTagSpecification = { "public.filename-extension" = ( avchd ); }; だった。拡張子avchdを付けるだけ >>276 ,277だと>>268 みたくMacに持ってきた時に複数同一場所に置けないだろにと思ったが、ちゃんとあるのね。BDMVは無さげなんだけどw >>276 ,277はmacOSなFile Systemじゃない/他により/汎用なに対しての特別なだろな >>278 >ID:Ca5U8JTR0 いろいろ情報どうもありがとう INDEX.BDMとMOVIEOBJ.BDMが必要なんだね はてさてどうしたモノか >>281 ドザ=汎用にもなってるのでしょうがない Macに標準で入っているコマンドだけで 現在時刻のミリ秒を取得する方法を教えてください できるだけ速い方法で
python -c 'import datetime; print datetime.datetime.now()'
その元のは注文が多いなw 標準のコマンドでという限定がわからんから無視すると、自分でほぼ二行のCプログラム書けば、ほぼdateと同じくらいだな。そんなちっこいバイナリはスクリプトに埋め込めるだろし(67行くらいあるけど)
darwin的にはmach_absolute_timeが公式の高精度タイマで 今はclock_gettimeが使えるから移植性考えるとこっちなのかね
そこまでの細かさが必要もしくは意味があるのかじゃないの for(;;) clock_gettime(...); てなので1μ単位で取れる(てか1μ単位でしかとれないだけど)ようだから十分じゃないの なんの目的かわからんけど、1μ単位でとったってしょうがないと思わなくもないけどな。リアルタイムOSでもないんだし
考えてみたら、>>286 先のが目的なら、時間取得するコマンドがいくら時間がかかろうが、1回分の時間取得するコマンドの処理時間を引けばいいこと(開始時間と終了時間の2度取得なら)、またはより正確(?)になるだろな 時間取得するコマンドが1秒/1分/1時間/1日かかろうがw、時間取得するコマンドが一定の時間で終えると期待できる(いや、するけど)ぶんにおいては >>285 他のでも全く問題なく&マルチプラットフォームでも問題なくだな。>>286 先のが目的なら(時間取得するコマンドにもtimeが使えないだの言い出しそうだがw) 超久々にOS X(macOS Sierra)上でCのコードをgdbでチェックしようと思ったら... はまる。 gdbでrunするとDuring startup program terminated with signal ?, Unknown signal.で動かない。 そもそもgdbがなかったし。でググって色々やってみたんですが解決せず。 他プロセスのmach portアクセスガーとかとでOS Xのgdbが面倒な奴なのは知っています。 でいろいろやってみたんですが、変わらず。 これ、結論は「lldb使え」ということでよろしかったでしょうか?
>>296 標準+Xcodeじゃ入ってこないgdbをどこから持ってきたの? ググってみたところは単にコードサインすればなようだけどな(そりゃコードサインは必要かなあ) >>299 の言うとおりどこから/どうってのがわからんとだろな んな手間かけるならlldbでいいじゃん gdbとのコマンド対応表見りゃできるだろ
あ、うちも Sierra 10.12.6。いちおう
296ですが、gdbはいまだに駄目です。あ、gdbはbrewで8.1を入れてました。 >>302 自分も10.12.6で、そのstackoverflowの話に従いgdb 8.0.1を入れてみましたが今度は Thread 2 received signal EXC_SOFTWARE, Software generated exception. というエラーに。 やはりlldbですかね。 llvmはアップルの中の人がメンテしてるみたいだし、gdbにフォローしてくのは止めたとか? 個人的にしばらくUbuntuに行ってたのですが、OS X、あmacOSに戻ろうかという野望があり... しかしいきなり冷や水をw そのエラーをどう出すのかわからんなあ スレッドの取り扱い?とかでGDBの問題あるのかと、デバッグ対象をffmpegにしての変換走らせてみた(83スレッドくらいある)が、何も問題なく終わりの デバッグ対象がバグってるとか? set startup-with-shell off で回避したと思ったらまた別のかよって感じだしなので、GDBに強いこだわりがないんだったらLLDBの方が無難だろうなあ
>>307 個人的にはLinuxでしか使えないものを「Linux用のもの」として欲しいような。 OS XこそUNIX様なのでそれに準拠したコマンドにどうこう言わないで欲しいw そういえばslってOS Xだとターミナル内じゃなく画面全体を走るやつあったよなあ。 以前それをCoreTextで書き直したら速くなった記憶が。 AppleがServer止めちゃうんだけどHomeBrewで代替できるのかな web/mail/wiki/calendar/addressbook/dns/vpn/certificate
>>312 けっこうapple依存してるんで困るんだよね apacheもapple用のモジュールが今後どうなるんだろ?認証とかでも結構使われてるんだけど・・・ ディレクトリ構造もものすごく独自のものだし 証明書管理も独自のもの(IDの付け方とか)だし そもそもユーザ管理だってユーザ名じゃないよね ながーいIDで管理していてその中にユーザ名の項目がある カレンダーやコンタクトサーバもそのIDでアクセスしてるから 移行とかできるのかしらん グループ共有カレンダーはwiki(これもapple独自)で作成してるから 一体どうしたら良いものか すでにwebmail/mailmanは切られていて どちらも独自パッケージが提供されてるから問題なく移行できたんだけど この秋にどうなるのかとても心配 まあ serverをアップデートしなければserver.appの中にあるプログラムはそのまま使えるだろうけど おそらくセキュリティアップデートは提供されなくなるよね ユーザもネットワークユーザ・ローカルユーザの区別があって これまでODではネットワークユーザをどっちかと言えば推奨してたけど ネットワークユーザはホームディレクトリが /Network/Server/server.name.foobar.jp/Users/username になっててapacheのuserdirもここになってるし webdavでアクセスできるようになってるユーザのディレクトリやグループの共有ディレクトリも設定面倒そう
>>313 >ディレクトリ構造もものすごく独自のものだし proxyでパフォーマンスサーバというのを経由してるらしくて serverのapacheのログとかもへんてこになってるよ そもそも/var/log/syslogもなんか変だし メールとかのサービス周りは基本的にはそのサーバのアカウント(そのローカルユーザ/Unix的なIDがあるユーザ)が必要なのが基本 サーバーにログイン(Unixな意味でのログイン)もしないユーザなんてのを、サーバーのアカウントに作ってられるかってので、バーチャルユーザなんぞとも称されるユーザ(そのネットワークユーザ)を使うようになるのはしごくもっともで、当然こちらになる サーバのアカウントが無いんだから、どこかにUnix的なホームと違うホームがあり、また、いろいろなサービスでの認証等を一括して管理するメンドくさいサービスを使うのもしごくもっとも それをどう設定するのかは、まあ、Apple流でなるほどと思わせるとこもあるが、なにがなんだかなとこも多いな(ホーム/ディレクトリ構造なんぞはなるほどだと思うとこだと思うけどなあ)
そういってもなぁ、HomeBrewなんて インストールしたユーザーやで?
そうだよ。ファイルはHomeBrewでインストールしたユーザーの 所有者になるし、起動も起動したユーザー でもインストールするディレクトリはホームディレクトリ以下じゃないよ なにせ、HomeBrewはroot権限がなくても使えるという便利なものだからね!w だから複数のユーザーでHomeBrewを使おうとか思わないでね!
ああ、Homebrewでインストールしたブツのowner userIDがかな?あんま関係なくね?サービス起動時(rootで起動)にowner userIDがrootでないととかなんかあったっけ?
>>320 前後した。何を言っているのかわからんww あんま何を言っている/何を問題にしてるのか全くwわからんが、単に本来rootであるべきなのが単なるいちユーザなのがキモいって言ってるだけなら、まあそこは同意してキモいとは思うw でも、まあ/Applicationや/Libraryの下とかとか単なるいちユーザ(まあ管理者だけど)なのがゴロゴロしてるから、別にそこまできにする必要はないんじゃね >>323 Homebrewらしいよ。まあBを大文字にするのは明らかにかもしれんけど あくまでもパーソナルな使い方だと、まんま brew ... でいいけど、今回のようなサーバーの構築とか、なんらかの複数で共用なら sudo brew ... すればええことやん(単なる複数の共用なら共用のuserIDでもいいだろう) Homebrewもなんだったかと同じ(なんだっかなあ)ように、sudo(root)での実行すを許さないかと思ったらんなことないやん
>>321 例えばな。MySQLのデータファイルの所有権が一般ユーザーになるんだ。 あとサービス起動、rootじゃhomebrewのコマンドは実行できないようになってる つまりサービス起動するhomebrewのコマンドが実行できない >>326 なんかいろいろ勘違いしてね?Unixとしての動作としておかしい。コマンドによっては「わざわざ」そうしてるのもあるけど Homebrewで言えば/Homebrewによってで言えば、brewぐらいじゃないの。Homebrewによってインストールしたコマンドが全部そんな制約になるとは思えんけどな。てかbrewですらそんなことはないからな >MySQLのデータファイルの所有権が一般ユーザーになるんだ いやいや、あんたがそうしてるんだけど。brewで一般ユーザーでmysqlをインストールしても、データファイルをsudoで作れば当然rootになるけど > rootじゃrootじゃhomebrewのコマンドは実行できないようになってる どの?? まあ、そのなんだかんだの言い分も、sudo brew ... すれば関係ないことだとなんじゃないの homebrewに/usr/local使わせるのは不安しかないので$HOME以下で運用してる /usr/localは自分で入れる用。brew doctorに怒られるが気にしない 大体brewの管理なんて、opensslとそれを使うlftp(例)を入れたとして opensslをバージョンアップしてdylibのファイル名が変わりました、cleanで古いdylibは消えました でもlftpのバージョンは変わってないのでそのままです、起動できません とかその程度のいい加減なもんだぜ?
>>328 それはちょっといい加減だなw まあ、ちょっと上のGDBからもいい加減だなとは思ってたけど >>327 知らないなら自分は知らないんだと自覚して、 調べてくれないかな? https://teratail.com/questions/62915 > brew install rbenv ruby-build > をすると > > Error: Running Homebrew as root is extremely dangerous and no longer supported. > As Homebrew does not drop privileges on installation you would be giving all > build scripts full access to your system. > が出ます > sudoなどを用いてrootユーザーで実行していませんでしょうか?メッセージに書いてあるとおり、 > Homebrewはrootユーザーでの実行をサポートしていません。 > brewのコマンドをrootユーザーで実行しないでください。 >>330 なるほど、brew は sudo で実行は「されなくなった」んだな Error: Running Homebrew as root is extremely dangerous and no longer supported. As Homebrew does not drop privileges on installation you would be giving all build scripts full access to your system. になったのね。ここはすまんかった だけど、他のモロモロはやっぱり勘違いしてると思うよ そりゃhomebrewの流儀に反することをやるのであれば何でもできるだろうけど それはせっかく簡単に使えるように用意してくれてるのに面倒なだけ homebrewを普通に使えば、一般ユーザーでインストールすることになり そのプログラムなどは/usr/local以下などに一般ユーザーを所有者として作成される。 そしてhomebrewの流儀に従ってmysqlを起動するときは、 brew servicesコマンドで起動する。当然一般ユーザー権限で起動する そもそもなんでhomebrewがrootで動かなくしたのかを考えればわかるだろう 一般ユーザー権限で起動したサーバーはデータファイルを一般ユーザーを所有者として作成する /usr/local/var以下などにだ そして所有者が一般ユーザーなので、他のユーザーでサービスを起動しても読み書きできない 安心してhomebrewでインストールしたアプリを使えるのは、インストールしたユーザーだけ サービス系なんか面倒なことにユーザー切替で行ったり来たりさ
えーーーっ そんなガチガチだったら、/usr/local/には入れないだろにとしか思えんな。サービスなんてテスト目的でしか使えないやん なんだったかと同じように、brewとかナニかインストール(スクリプトの実行に)のにsudoでは危険なだけだろとしか思えんな MySQLにしたって、データベース作るのもデーモンとして起動するのもMySQL自身がそのユーザにスイッチする機能(オプション)があるけど?設定ファイルでも設定できたかな まあ、なんか知らんがそういう信条をもっているのは自由だが、それが正解だと言われると、それは違うだろうとしか言えんな サーバーに使うなら簡単に用意してくれる実行環境なんて以上に設定が面倒だし、そのHomebrewの流儀とやらからは逸脱(?)するのは当然だろう。てか、Homebrewでインストールした普通のサービスってどんだけ危険やねん Homebrewに期待するのがアップデートが簡単というのなら、全然それはそれでだし、Homebrewの流儀とやらに反してるとは思わんな。Homebrewでインストールした普通のサービスがそんなに危険だとは全く思わないので
... dovecot インストールしてみましたところ、 To have launchd start dovecot now and restart at startup: sudo brew services start dovecot ですって。で、sudo brew services start dovecot しても怒られませんでした
>>333 > そんなガチガチだったら、/usr/local/には入れないだろにとしか思えんな。 そうだよ?だからこんな事が必要 https://blog.ymyzk.com/2015/10/os-x-el-capitan-homebrew/ > /usr/local が存在しない場合 > OS X 10.11.1 に含まれる com.apple.pkg.SystemIntegrityProtectionConfig.14U2076 の > アップデートによって SIP を無効化しなくても /usr/local のディレクトリを作成できるようになったようです. > 以下のコマンドで /usr/local を作成して適切なパーミッションを設定します. > > sudo mkdir /usr/local && sudo chflags norestricted /usr/local && sudo chown -R $(whoami):admin /usr/local /usr/local/ の所有者を一般ユーザーに変更(笑) >>335 いや、それは全然違うぞ。なに言いたいの?Homebrewの流儀とやらがガチガチだとしたら、デフォルトとして/usr/local/になんて、入れないってことだけど? その提示してんのは、macOSの新しい流儀(SIP)で/usr以下を自由にさせないだし、それに対して、また、/usr/local/以下にHomebrew関連をuserIDで作る場合の話でしかないな /usr/以下にrootでないのを入れるのはそもそもキモいけどなw /usr/local/といえども てかさ、rootで起動しないだのuserIDでしかデータ作れないだの諸々はどうなってんの? (brew.sh見てみたら、serviceはrootかどうかパスなだけだな。てか、rootのチェックも簡単だから、return一行入れたらsudoでなんでもできそうだけどwスクリプトの先がどうなってんのか知らんけど) /usr/local/がuserIDなのを笑ってるけど、別にroot:wheelでもいいんだぞ?あれか、Unixの知識が薄いうえにHomebrew使ってないの? >>336 そんなもんだなw インストール&アップデートが簡単&ちゃんとした正規のコマンド類が入ってくれればだけの話だな もうmacportsはないのな /usr/localとか普通に使ったパッケージ管理システムはないのか
Macで使えるパッケージ管理システムは全部キモいから手動管理で/usr/local以下を汚してます
そもそもパッケージ管理システムってのは OSが提供するものだよな Unixを名乗ってはいけないレベルだ
finkがaptを使ってて一番まともだったんだけど、最近音沙汰がない 新しいのではNixがいいのかな
>Nixがいいのかな これまた毛色が違う/趣が違うもんだな。アプローチとしてはおもろいと思うけど
>>339 さらっと嘘をつくのをやめろよ $ sw_vers -productVersion 10.13.4 $ port version Version: 2.4.3 大した理由もなくhomebrewに流れ奴 さすがmacユーザー
大した理由って?具体性の全くないレスをよく書けると感心する...なぞなぞか? お前が馬鹿にしたいお前の頭の中のその対象とお前はなんら変わらんな
超もっさりしたマシンの iostat -w 10 の結果 ターミナルで動画を見る方ってありますか? フルスクリーンのSplit ViewでツイッターとターミナルまたはiTermを開いて作業してます。 フルスクリーンのSplit Viewだとウインドウの影が出来ないのでアクティブなウインドウを切り替えても影の移動も無く捗るけど、縦分割で2つのアプリまでしか開けないです。 ターミナルの中はtmuxで縦横にいくつかウインドウ分割してます。 なのでそのひとつのペインで小さく動画を見たいです。 最近のSafariやiTunesについてる機能の動画のポップアップウインドウくらいの大きさで大丈夫です。
macOSのbrewでインストールしたdashで echo '!' って実行したら \! ってなぜか エスケープされて表示されるんだけど誰か心当たりある? printf '%s' '!' でも \! と表示される
>>353 使ったときある ウルダっていう自主アニメ ターミナルで見てみて 結構良い感じだった >>354 止むを得ない事情があるのだろうけど、 dashを使うなんて Debianのdashで確認したら、エスケープされないな Homebrew の dash 0.5.10.2、macOS 10.12.6 ではエスケープされてないな
>>356 そのうちmacOSもshはdash(ash系)になるようなきがしないでもないでもないでもない 今のbashだとshで起動してもbash固有がスルーのがちょいちょいあったりで まあ、俺は #!/bin/bash しかもう使わないから基本どうでもいいんだけどw >>356 > 止むを得ない事情があるのだろうけど、 > dashを使うなんて 単に自分が書いたシェルスクリプトの互換性チェックです。 机に座って作業するのがつかれたので、ベッドにごろーんして、 Macで実行してみたら、動かなくて、なんじゃこりゃ?と Ubuntu上では問題なく動いています。 >>358 マジか。dashのバージョンは同じ0.5.10.2 macOSは10.13.6でちょっと違いますね。 でも、流石にそんな所変わるわけ無いと思うんだけどな クリティカルだからすぐに判明するだろうし、いや、Macでdash使う人がいないかw うちの環境の問題ではないかと思ってるけど、よくわからない >>359 もうbashでいいかなーと思っていたけど、徐々にこれshでいいやんってなってますw それにAIXとかkshらしいんで $ hoge.py && 別のスクリプト.py hoge.pyの終了ステイタスが0じゃ無い場合のみ、別のスクリプト.pyに進みたいんですが、1行で書く方法教えて欲しいです。
自己レス $ hoge.py || 別のスクリプト.py これっぽいですね
macOS Mojave ではまったのでメモ残して置きますね。 $ pyenv install 3.6.7 〜略〜 zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] Error 1 $ xcode-select --install # macOS Mojave じゃダイアログからインストール出来なかったので、インストーラーをダウンロードしてからインストールする。 $ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target / Password: installer: Package name is macOS_SDK_headers_for_macOS_10.14 installer: Installing at base path / installer: The install was successful. $ pyenv install 3.6.7 python-build: use openssl from homebrew python-build: use readline from homebrew Installing Python-3.6.7... python-build: use readline from homebrew Installed Python-3.6.7 to /Users/おいらの名前/.pyenv/versions/3.6.7
元々何したかったのかわかんねーよ メモ残すならそこ書いといてよ まあ所詮俺には関係ない話だけど
え? 見たらわかるじゃん pyenvでPythonのインストールができないから $ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target / を実行したらpyenvでPythonのインストールが出来るようになったって話
zlibを見えるところに置いてあげれば良いんじゃないの?
MacPortsを使っている俺は無問題 $ port installed python37 The following ports are currently installed: python37 @3.7.1_0 (active)
$ brew install python $ python3
macportsとかhomebrewとか ディレクトリが独自なのは大嫌いだい
>>371 ちなみにMacportsでインストールしたpythonの運用ってどうしてる? 俺はいろいろ試した結果、pipとsetuptoolsだけmacportsで入れてあとはpipからにしてるんだけど、やっぱり気になる >>385 別人だが、俺はmacportsでアプリを入れるときに付いてくるものはそのままmacportsに任せて 自分で使うぶんには全部virtualenvにしてる >>375 本人だが、pythonそのものを起動して使ったりはしない。 あくまでも、入れたいソフトウェアの依存ライブラリとして、一緒にインストールされる。 pipも使っていない。どうしても」必要なものがあれば、自分でPortfileを書く。 自分でtarボールからインストールするのに比べて、 Macportの便利なところは、port selectでバージョンの切り替えができるので、 複数のバージョンをインストールしておいて、27が必要な時とか、 37が必要な時とか使い分けている。 ところで、Kindleに こうゆうのありますね…! シェルスクリプトマガジン vol.41
それから、UNIXで、 corebird動かせますか…!
マックがオンラインかどうか確認するコマンドってありますか? シェルスクリプトの中でオンラインかどうかで処理を分岐させたいです
ping -c 1 www.gootle.com の後に戻り値を確認するために echo $? とやったら 2 なんですが、0では無くてなぜ2なんでしょうか?
atコマンドを使いたいんですが、動いてくれません 何が間違っていますか? $ which bash /usr/local/bin/bash $ bash $ which at /usr/bin/at $ at "19:45 12/28/18" -b ls at: garbled time
launchctlでatコマンドを有効にしましょう
at コマンドって 実行する命令は引数ではなく 標準入力 または 実行ファイルのパス として渡すのでは? ls を日付として処理しようとしてエラーになってるのでは?
>>393 $ at "20:00 12/28/18" -b ls at: garbled time って出てくることはatコマンドが動いているような気がするんですけれど、自分でもわざわざlaunchctlに追加しなければいけないんですか? >>394 $ ls | at -b "20:00 12/28/18" at: cannot open lockfile /usr/lib/cron/jobs/.lockfile: Operation not permitted こうなりました lsの結果を実行なんか出来ないだろ echo "ls" | at "20:06 12/28/18" だよ あと登録は出来ても, sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist で,実際に一定時間ごとに動かすものがないかをチェックする デーモンが起動してなきゃ走らない。 そこまでやれば,lsの結果がメール送信される /var/mail/ユーザ名 を見てみればいい。
ダメでした $ echo "ls" | at "20:15 12/28/18" at: cannot open lockfile /usr/lib/cron/jobs/.lockfile: Operation not permitted $ sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist Password:パスワードを入力した $ echo "ls" | at "20:18 12/28/18" at: cannot open lockfile /usr/lib/cron/jobs/.lockfile: Operation not permitted
あ、やっぱり同じかw原因は Mojaveでatコマンド打った直後に、セキュリティ(認めるか?)ダイアログ出たけど、「認めん」としたら at: cannot open lockfile /usr/lib/cron/jobs/.lockfile: Operation not permitted と、出ましたで。認めたら出なくなった
システム環境設定 → セキュリティとプライバシー → プライバシー → フルディスクアクセス で ターミナル を追加の上チェックを付ける?
うん。それと実際に実行時のヤツにも権限与えなければなさそう。ヤツは /usr/libexec/atrun こいつも追加&チェック
レス遅くなりました どうもありがとうございます ターミナルと>>402 をフルディスクアクセスに追加しました $ touch "abc" | at "1736 12/29/18" job 13 at Sat Dec 29 17:36:00 2018 と出るんですが、入力後すぐにabcファイルが作られてしまいます $ echo "ls" | at "1736 12/29/18" 17:34:29 job 12 at Sat Dec 29 17:36:00 2018 時間になっても画面にlsの結果が出ません >>403 $ echo "ls" | at "1736 12/29/18" の間違いです >>396 の最後。atはそういうもんだろう man at か、ググってLinuxの日本語manでも読んでみ スプール(?)直接でなくても、 mail ってすれば届いているだろう echo "ls > $(tty)" | at "1736 12/29/18" ってすれば、強制的に今のtty(ウィンドウ、端末)に無様wに出てくるだろう
>と出るんですが、入力後すぐにabcファイルが作られてしまいます そりゃそうだ。そういうコマンドをあなたが打ってるのだもの。まあ、もう間違いはわかってると思うけど
dateコマンドで元号って出せるのかな。strftimeの中の%EYがそれっぽいんだけど うまくいかないなあ。 $ LC_TIME=ja_JP.UTF-8 date "+%EY" 2019 ちなみにこれはSUSでの規定ということでUNIXであるmacOSはちゃんと動作しないと... %EY自体は解釈してるみたいなのでロケールデータがちゃんとしてないのかな?
今更だけど、結構前のOSからtarコマンドはxz形式に対応してんだね manページに記載ないから自分でxz入れてずっとxz -cd xyz.tar.xz | tar xf -とかやってたけど、tar xf xyz.tar.xzだけで行けるわ 圧縮形式も指定不要だった、ってこれまた随分今更 指定するのはおっさんだけとかw おっさんだけど
最近ターミナルでコマンドを実行するたびに最後にこんなのが表示されるようになってしまいました。 $ math: Error: Expression is bogus 'scale=1;14839/1000' 数週間ほったらかしでそのまま使っていたんですが、昨日まで使えていたVimが今日になって使えなくなりました。 $ vim dyld: Library not loaded: /usr/local/opt/python/Frameworks/Python.framework/Versions/3.7/Python Referenced from: /usr/local/bin/vim Reason: image not found fish: 'vim' terminated by signal SIGABRT (Abort) 1つめのエラーと2つめのvimのエラーの原因は何でどうやったら解消されるんでしょうか? OSは10.14.2、シェルはfish、bashどちらでもダメ、使ってるTerminalはiTerm2です
>>412 自己レスです 今朝自動更新させてるhomebrewのログを見ていたらPythonのアップデートがあったみたいです それのせいなのかもしれないんですが、どうしたらよいんですか? 自己レスです homebrew でvimをアンインストールして、python付きでインストールし直したら無事vimが使えるようになりました しかし相変わらず $ math: Error: Expression is bogus 'scale=1;27050/1000' は治らないです
mathってfishシェルの標準コマンドみたいじゃん、ggrと 自分で壊したんだ自分でなんとかせい
fishというのは噂には聞いていたので、自分も入れてみたw あと最近のvimはpythonに依存する(ことが可能な)のかあ。おそるべし。 >>414 math -hしたら、以前はbcに依存していたが今は違うらしいね。だから以前は echo 'scale=1;27050/1000' | bc と同等に動いていたのが今は動かなくなったとか? で、fishの「コマンドを実行するたび」に何かをする設定の部分で間違ったりしてるとか? 上に書いたようにfishはさっき入れたばかりなので深いことはわからんw >>411 >圧縮形式も指定不要だった えええっ ここしばらくで最大の衝撃 やってみたらそのとおりだった たしかにman見たら-jyzZには (c mode only) と書いてあるし Note that, unlike other tar implementations, this implementation recognizes bzip2 compression automatically when reading archives. でも-Jは書いてない
自分もいつだったか、何かの説明で「tarのz忘れてるじゃんプッ」と思ったら正しかったという。 あらためてmanを見ると、tar以外にzipやjarにも対応してるのね。 ならapkもいけるか? と思ったらエラーになるようだ。zipでは展開できるはずだが...
>>411 >今更だけど、結構前のOSからtarコマンドはxz形式に対応してんだね >xz -cd xyz.tar.xz | tar xf -とかやってたけど、tar xf xyz.tar.xzだけで行けるわ xz の意味ないね。w xzとtarのxz展開ってバカでかいファイルを展開じたときの速度くらい? 人に渡すときにはclean archiverでzipだし 展開時、コマンドラインからなら好きなの使うだけだし、xzて圧縮に使ってないな。
>>422 そういえば、Macでデザインしてる人から画像ファイルをもらってWinやLinux上でインテグレート するときとか、zipにリソースが付いてて軽くイラっとするときが、俺にはありましたw ま、そういう方はフォトショ/イラレのメタデータとかも残してたりするし結局全チェックしないと いけないのだが。 で、そういうののクリーンナップのスクリプトを書いて差し上げたという。 まあ本来その辺をデザイナーがチェックするのも変な話なんだよな デザイナーにはデザインだけやらせておけばいい
あとは画像のリビジョン管理とかもいい加減で、適当なファイルを提出されたり... んで 単にファイルのサイズやチェックサムで比較とかでは判断できない場合、画像のビットマップの 比較をしたりしたこともあった。 というわけでAI付きリポジトリみたいな役をやったり。 デザイナーにはデザインだけ... そだねー
cal コマンド、昔のUNIXのmanのBUGSセクションにはなんだか面白いことが書いて あった気がする。 確か「1年は1月から始まると仮定していますが歴史的には必ずしもそうでは ありません」とかなんとか。あとどれかの月の日数が変になっている年とか。 今のは割と「真面目」なのな。calに限らないが。 和暦対応のcalとか誰か...
ターミナルで cal 9 1752 とすると笑える
他に表現しようがないな。変に間にスペース入れたらなんか「間」がある感じだし
まだ英国が世界一な時代か、ギリ的に (英国圏だけ?の)リアルな人々にとってはまさしくいきなりすっ飛び変わるの暦だったんだろう だがしかし、なんかそれ重視でイマイチ現代からそれ以前を指定するのが以後と以前がごっちゃ=ズレる思っているのと違う?的なのがあるな。calでの表現ではなく
日本だってもし明治5年を表示できたら12月は2日しかないさぶい表示になるはず。 というわけで旧暦/和暦対応はよ
あんたがやってもええんやでえ。やるなら日本人だろな
macOSにはncalというFeeBSD由来のコマンドがあって一応国別オプションがある。 んで ncal -p で国ごとのグレゴリオ暦移行日が出るんだけど JP Japan 1918-12-18 なんだっけこの日。大正7年に何かあったっけ。
Pythonでは一環してグレゴリオ暦だとして計算するけど calではユリウス暦からグレゴリオ暦に切り替わったとして表示する違いあるのな
ああ、仮にcalが和暦に対応していたとしたら、旧暦新暦の切り替えは>>431 のようになるしなきゃならんのか。単に 明治5年12月が2日しかないっていうだけだが(少ねっw) 旧暦なんてどうでもいいってこともないこともないね。閏月とかもあるようだしな。だがしかし、やっぱりどうでもいいw >>439 計算上ではグレゴリオ暦(かユリウス暦でも)ひとつの指標が都合がいい 人の営みとしては、その時の暦の方が都合がいいんじゃないの。何年になにかがあったとかの古い文献であった場合わざわざグレゴリオ暦に換算してよりもそのままとか カレンダー的には人の営みに重点を置くだろうなやっぱりと、和暦で表示表現されたらその当時の暦でだろうと思ったのでそう思う 例えばクリスマスは今でもグレゴリオ暦の日に祝うところとユリウス暦の日に祝うところがあり。 お隣の国の正月は今でも2月頃で、毎年日にちが違う。グレゴリオ暦に対しては。 というわけで昔の暦は重要w
盆休みも事実上旧暦の盆だしな 都内在住だと、都内でとりあえず新暦の盆やって、帰省して旧暦でまた盆やる人間も多いし
そういえば日本史って全部西暦で書いてあるよなあ。和暦から換算してあると。 ある意味すごいなあと思ったり。 皇紀とかはさすがに怪しいわけだが(そもそも教科書に載ってないか)。
>>411 今更ながらtarのmanを読むと今のって猛烈な数のオプションがあるのね。 自分はc,t,x そこにf,vしか使えてないw 言い訳をするとむかーし各種わーくすてーしょんを使ってた頃、環境によってコマンド等が 微妙に違うので苦労して、できるだけ最小限の共通部分しか使わないみたいな癖が。 >>443 お盆は7月15日だった 新暦になっても7月15日で 新暦で旧暦での近しい8月15日で 旧暦が続いていたらで、毎年日にちが違う があるののね。いろいろテキトーだなw(最後を除いて?)。テキトーに合わせるんは難しいよね >>444 和暦にするとひどいからな。元号が二年とか短期で変わるのごろごあったり。てか和暦だと元号全部順番も年数も覚えなきゃ歴史の前後関係間隔もわからんしなあ 換算した人は確かに偉いな シェルスクリプトで 半角スペースや 全角カッコをのあるファイルを findしてxargs経由してlsar(unarのセットコマンド)したい。 find . -type f -name \*.zip -print0 | xargs -0 ls "{}" は出来るけど find . -type f -name \*.zip -print0 | xargs -0 lsar "{}"は通らない。 どうしたらいいですか?
最後の"{}"いらんでしょ? そんなxargsの使い方知らんぞ
find内のと混同しているんだろな。コマンドが複数のファイルを一度に扱えないとかだっがら -n 1 かな
>>448 >半角スペースや 全角カッコをのあるファイルをfindして そういうファイルだけをチェックするのかと思ったらそういう意味じゃないんだなw でも全角カッコは何か問題あるっけ? 半角カッコがコマンド引数に来ると問題になりうるけどあれは直接使ったときだけかな? find . -type f -name \*.zip -print | while read LINE do lsar $LINE done これだと出来る。 find . -type f -name \*.zip -print -exec /bin/sh -c lsar \; これでもNG。\はバックスラッシュで。 どこが駄目ですか? 日本語カッコや[]カッコの問題はperlかrubyに任せるしかないのかも。
find . -type f -name \*.zip -print0 | xargs -0 -n 1 lsar find . -type f -name \*.zip -exec lsar {} \; じゃないの。(正直、なんでやねんっ!wと思う。いやネタか?ともw)
お世話になります。 macOS 10.14.2 です。 既存の ls はBSD系なので、これ(だけ)を GNU の ls に変えたいのですが、 brew で coreutils をインストールするとかじゃなくて ls(gls) だけインストールするにはどうしたらいいんでしょう? ※ オプションで ls −l −−time−style=W+%Y/%m/%d %H:%M:%SW とかの設定がしたいんです。
>>455 >brew で coreutils をインストールするとかじゃなくて のはなんで? gls以外を入れたくないと言うこと? brewにそういうモードはあったかな。 とりあえず自分でcoreutilsをコンパイルしてlsのバイナリだけ取り出すのは可能かと。 でもしlsが特別なライブラリやその他リソース等に依存しているならそういうのも 適宜用意して必要な場所へコピーする。依存してないかもしれないけど。 日付の表示を変えたい程度なら、exaっていうrust製のls代替があるよー
野良ビルドするならcoreutilsの方がずっと楽じゃないの Xcodeのコマンドラインツール入れて ./configure && make install DESTDIR=適当な場所 でもしてls取り出せば済むよ
>>458 そうですね、 coreutils をインストールして ls だけ取り出すだけですねm(__)m >>457 exa 早速使ってみました。 これ、最高ですね。 --time-style=long-iso で望み通りのフォーマットにできました。 さらに、 --group-directories-first なんていうオプションまであって素敵♪ もう exa に乗り換えます。 ありがとうございましたm(__)m UNIX的には頻繁に使うコマンドは2文字じゃないかと
>>463 $ history |awk '{print $2}' |sort | uniq -c |sort -nr |head 2005 sudo 1615 port 616 scp 554 slogin 499 ls 393 exit 366 cd 281 cdf 244 ping 194 less 全然2文字じゃないな。 >>469 っていうかそれ、sudo + port でパッケージのインストールがメインのお仕事になってるしw で次がリモート系か。なんだかなあ。 よくまぁ恥ずかしくもなく自分のコマンド履歴を晒せるよなぁ
>>469 こんなやった 69 sudo 60 ls 50 tripwire 43 cd 35 lsof 29 netstat 18 emacs 17 byina 16 ping 16 curl >>468 久しぶりにグラフィック版を動かそうと思ったらなんか駄目だなあ... セキュリティー的なものかな? 昔、これをCoreTextで書き直したらちょっと速くなった記憶が。あまり意味はないがw osx serverでカレンダーってCALDAVってのらしいけど 実際に動いてるサーバってapacheだけなの?caldavdは サーバ本体じゃなくてユーザインタフェースだった
ブツとしては、CalenderServer(ccs-calendarserver、Calendar and Contacts Server) https://www.calendarserver.org プロセスとしては、Pythonぽいかな。apacheは関係ないぽいかな。動かしてないOSX Server見てないので不確か極まりないがw CalenderServer単体で動かしてみた(>>475 のQuickStartから。QuickStartやないやんけっ。QuickStartだけど) リアルプロセスはphythonだね。psで出る別名(?なんて言うんだろ)はCalendarServer Combined。待受ポート開いているのはこいつ caldavdはユーザインタフェース(?)じゃなくて、起動スクリプト的なかな >>476 ありがと apacheは外部アクセス待機で使われてるよ 外部からの接続を待ってるのはapache そこからproxyでカレンダーサーバに送られるみたい httpd 84141 _www 14u IPv6 0x44ef930a69ec3bce 0t0 TCP *:8843 (LISTEN) それとデータベースは postgres_ 2395 _calendar 9u IPv6 0x44ef930a627b301e 0t0 UDP localhost:61119->localhost:61119 postgreSQLね >>476 >リアルプロセスはphythonだね。psで出る別名(?なんて言うんだろ)はCalendarServer Combined。待受ポート開いているのはこいつ osx serverとは方式が違うみたいね psでCalendarServerは出てるけどCombinedではないし lsof -iではCalendarServerは出てない _calendar権限で動いているのは他にpython-wrというやつがあるけど(pythonはない) なぜかアップルのipアドレスに接続されっぱなしになってる asrでincremental backupってできないっぽいんですが timemachineじゃなくてHDDのincrementalな完コピをするにはどうするんですか? すべてのファイルとフォルダについて 元にあって先にないファイルは属性含めて完コピし 元にあって先にもあるファイルは同じならばコピーせず違うなら完コピ 元になくて先にあるファイルは削除 元になくて先にもないファイルはナニもしない こんな動作をさせたいです
バックアップの定番、rsyncでいいんでは オプションが色々細かいので詳しくはググって デフォルトで入ってるrsyncは細かいところがアレなので、homebrewで入れた方が吉 timemachineみたくしたいなら、rsync timemachineでググれば qiitaやgithubあたりに説明やらスクリプトが見つかるよ
初回の完コピなら ファイル構造とかに関知しないtarがいいのかな? mac専用のasrとかdittoってのもあるね 2回目からはrsyncで細かくインクリメンタルバックアップがよさげ asrとかdittoのようなmac専用のでもできたら良いんだけど
別HDDへのコピーでもファイルの作成日修正日やパーミッションもちゃんも引き継ぎてくれる?
作成日については、rsyncのパッチ版を使えば維持されるけど、それ以外は、OS付属のコマンドでもダメ rsyncのパッチはソースと一緒に公開されてる Homebrewとかは使ったことないんで、パッチ当たってるかは知らない ...はず
Homebrewのrsync使ってるけど、"-arv --delete"のオプションつければ 問題ないね。
>>480 >timemachineみたくしたいなら、rsync timemachineでググれば >qiitaやgithubあたりに説明やらスクリプトが見つかるよ timemachineは古い方から削除もしてくれる優れもの。 rsyncでもこれが出来るなら、挑戦したいけど知ってる人いますか? >>486 >>rsync timemachineでググれば で、あるでしょ。ググってないか、中身見てないか、削除する条件が合わないのか? そんなもん、スレ的にはmanページ読め、カス死ね、だな
起動ディスクを完コピしたんだけど起動しない 何か見落としてるのかな 最初のアップルマークとプログレスバーのあと 電源が落ちてしまう
sudo asr --source /Volumes/xxxx --target /Volumes/yyyy --erase みたくして xxxxネットワーク上の起動ディスクのバックアップ yyyy内蔵ディスクの1つ 一見完コピできてる見たいに見えてる 起動ディスク選択でyyyyはxxxxと同じOSバージョンとディスク名で出てきてて 選択してから再起動して上手く行きません
外付けHDDから数GBファイルを削除したのに空き容量が増えない 試しにその後ファイルを追加したらもちろん減るし なぜ空き容量が増えないのよ 削除損じゃん
dfやduで測ったらどうなる? Mac側の管理だとおかしいことがある。特にAPFSやTime Machine使ってると・・・
>>491 上手く行かなかったのは マウントしたネットワーク上の起動ディスクのバックアップの所有権が すべてマウントしたユーザのものになってしまっていたのが理由みたい rsyncでやったとしても同じかも 所有権もキープしたままマウントするってどうすればできるんでしょう へぇー osxのmanってスクロールに反応するんだ オモシロ
emacsもか emacsはむしろめんどくさい感じも
>>496 >所有権もキープしたままマウントする てか、所有権とかもちゃんとバックアップできてんの? ユーザ(ファイルサーバに接続したときの)がオーナーじゃないなんぞのシステムも含めては単なるネットワークボリュームじゃダメなんじゃないかな。ファイルサーバー側の設定でなんかありそうだが Time Machineでのネットワークドライブへのでは、わざわざネットワークドライブにsparsebundle作ってそれをマウントしてその中にってやってるのはそういうこともありのでかな sparsebundleマウントしてのはまんまmacOSのファイルシステムとして書き込みできるから、同じようにすればasrでもrsyncでも問題なくできるだろう ターミナルでパスワード入力するときって鍵マークが出るじゃないですか。 どうやってんのかなと思って少し試してみたら... 端末のエコーのon/offを検知? でも単にそれだけだと問題が出そう。
stty -echo ; echo -n "hoge: " ; read hoge; echo $hoge; stty echo これで鍵マークが出る エコーのoff後,文字入力が行われる前に 画面に何か文字が出力されると,鍵マークが出るっぽいね
>>504 自己レスです どうもtmux自体のステイタスラインが優先されるっぽいです。 iTerm2の設定→General→Status bar locationで場所を変えると、tmux自体のステイタスラインの場所が変更されました。 tmuxのステイタスラインを使うかiTerm2のステイタスバーを使うか任意で選べたら良いんですが。 起動ディスク上のフォルダと、Time Machineディスク上のフォルダを、diff -r で比べるとファイル名によっては一方にしかないファイルの結果になってしまう HFS+とAFPSの違いだろうか
NFD と NFC じゃないの HFS+ は NFD、APFS は NFC、diff は NFDとNFCは違う文字と判断するという感じ
APFSってNFCだったんだ 自作スクリプトにコメント書いとこ
>ファイル名を取得するとファイルを作成した時の正規化になってて どういういみ?
>>513 こういうことでは? $ touch $(printf "¥xe3¥x81¥xbb¥xe3¥x81¥x92.txt") $ ls *.txt | hexdump -C 00000000 e3 81 bb e3 81 92 2e 74 78 74 0a |.......txt.| $ rm ほげ.txt $ touch $(printf "¥xe3¥x81¥xbb¥xe3¥x81¥x91¥xe3¥x82¥x99.txt") $ ls *.txt| hexdump -C 00000000 e3 81 bb e3 81 91 e3 82 99 2e 74 78 74 0a |..........txt.| $ ls ほげ.txt| hexdump -C 00000000 e3 81 bb e3 81 92 2e 74 78 74 0a |.......txt.| APFSはNFC対応でNFDも許容しているんか 作った時によって返すのが違う(リストするようなその作ったときのを返す場合)のか。それでええんかっ!? HFS+はどうであろうとNFDのようなので、APFSでNFCで作ったのをHFS+のコピるなりするとNFDで、diff のようなリストでな場合は NFC vs NFD でアンマッチってとこか 起動ディスクがAFPS、Time MachineがHFS+な場合は簡単にありそうな。逆はなんかうまくいきそうな感じはするけど(AFPSにコピるときにNFCに変換とかなきゃ)
ちゃんと調べてないけどHFS+から変換したAPFSボリュームだとruntime normalizationが入ってNFD化されるかもしれない
macOS 10.15 Catalina から zsh だって。bash が 3.x なのはいつものw怠慢かと思ったら 4.x でライセンス上の問題なのね bash も同梱されたとしても 3.x のままだろうな。言うなれば macOS では bash は終了、好きなら自分でどこかから入れろおま環でというとこか
デフォルトシェルがなんだろうと自分の好きなシェル使うのがUNIX流だろ
>>518 インタラクティブなシェルはそれでいいが、スクリプトを走らせる時にいろいろある。 たまにあるのはbash独自の機能に依存したスクリプトがあってそういうのがエラーに なったりとか。 おっとそうだ、"UNIX"であるためには当然シェルも... zshでも大丈夫ということなのかな。 lsとかcdとかpwdとかしか叩かない人にはzshでもbashでもたいして変わらない?
>>517 俺には関係ないな。 $ sw_vers -productVersion 10.14.5 $ bash --version |head -1 GNU bash, バージョン 5.0.7(1)-release (x86_64-apple-darwin18.5.0) $echo $BASH_VERSION 5.0.7(1)-release
>>525 ソコがzshがcshからの派生っぽいな。変えられんよな? そんなん自分で変えたらええやん $ echo $0 -zsh $ zsh --version zsh 5.0.2 (x86_64-apple-darwin13.0) $ echoすると、-zshと出る。正しいの? bashやtcshは-がでない。
元々なんか表しているんだろうけど気にしてないから気にすんな。psでそうなってるけど見たことなかったんでしょ うちでは全然違うけど ログインシェルで起動しているbashにはマイナスがついている。から起動してのは、 マイナスつく csh,tcsh (というか、-sh,-csh,-bin/csh,-bin/tcsh) つかない bash,ksh,sh,zsh 「正しいの?」じゃなくてなんの意味があるのってなら、ネタついでに俺も興味がある知りたいw bashでも付くときもあったような。ああ、サブシェルで付くな。Fork-Execしたのかな?
>>535 >ログインシェルで起動しているbashにはマイナスがついている サンクス 逆。マイナスが付いていたらログインシェルとして起動する。
>>538 AならばBが成り立つのとBならばAが成り立つのは別。 /usr/local/bin/zshにインストールして安定しているのを確かめた後、 zshを/bin/zshにインストールしたい。 .configure --prefix=/でいいの?
>>544 mv /usr/local/bin/zsh /bin/zsh なんのためにやるのか意味がわからん。 リスクしかない。
>>546 それ失敗する。zshってbashと違ってファイル一つじゃない。 >>551 ? mv /bin/zsh /usr/local/bin/zsh whch zsh /usr/local/bin/zsh zsh echo $0 /usr/local/bin/zsh macOSのアップデートで上書き置き換えされるのが目に見えてるのであえて /bin に入れる必要はないと思うけど おとなしく /usr/local の下にで >>549 の言う通りと PATH の調整での方がいいんじゃないかなあ。/usr/local/bin は先に参照させたくないなら /usr/local/zsh にとか >>552 最新版のzshを/usr/local/bin/zshにインストールして、 cp /usr/local/bin/zsh /bin/zsh ログインシェルで/bin/zshを使おうとするとエラーになる。SIP切りは大前提の作業。 だから/usr/bin/envを使えばいいだけっていってんだろ
>>556 >/usr/bin/env シェルスクリプトはそうします。 cp /usr/local/bin/zsh /bin/zshは諦めます >>555 最新版がどうかは知らんが mv /bin/zsh /usr/local/bin/zsh でターミナルの設定でログインシェルを/usr/local/bin/zshにして起動して何も問題はない >>551 >zshってbashと違ってファイル一つじゃない。 どう分かれてるっての?1つにできないの? しかしターミナルを開いた時ってログインシェルでなく普通のシェルじゃ駄目なんだっけ。 さらにわざわざlogin経由で起動するというのはどういう意味だっけ。 参考までにubuntuのターミナルを見てみたがログインシェルにはなってない模様。
/var/log/syslogにたくさん Jun 28 22:16:37 bafoom.mil com.apple.xpc.launchd[1] (com.apple.screensharing[8472]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.screensharing.server Jun 28 22:17:11 bafoom.mil com.apple.xpc.launchd[1] (com.apple.quicklook[8548]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.quicklook みたくなエラーが出てるんだけど どう対処したら良いのか分かる人居たら教えて! それはそれは沢山出ていて困ってしまって
ログなんて普通に使ってたって山ほどでるじゃん 実際どう困ってんのよ
>>566 そのページに「不正な画面共有」があったら出るって書いてる 困ってないの?? >>566 >メッサージに書いてある通りにしてないからだろう、単にセキュリティ的なWarningメッセージ セキュリティーが危ないってことなら 書いてあるようにしたいんだけれど どう対処したら良いの?? >>567 ,568 OS X をUnixとして使ってる人wなの? 全然読めてないな、そして妄想だけ膨らんでるだろう Apple謹製なのに Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC してないプログラムなんだろう。Apple謹製なのでそうでも困らないんだろう アクセスがあったというログとして残るからってだけだよ、画面共有があったら「必ず」出るから、心当たりないときのがあったら不正な画面共有があったというだけだろ 結局、お化け怖いだけか。調べて見たら枯れ尾花ってだけだろ。調べられないなら怖いと思ってそんなに口に出さない方がいいよ、お化け怖いとうるさく言われてもとんちんかんと馬鹿にされるだけだろう
>>569 >画面共有があったら「必ず」出るから、心当たりないときのがあったら不正な画面共有があったというだけだろ その認識間違ってる 1分ごとの四六時中出てるし 画面共有のアクセスはないよ FWで切ってる まあ 四六時中出ていて特に問題ないというならそういう認識でいれば良い ログの肥大化もイヤだけど アップルのソフトの作りの問題だってことならフィードバックしておこうかな >>564 >Jun 28 22:17:11 bafoom.mil com.apple.xpc.launchd[1] (com.apple.quicklook[8548]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.quicklook こっちの方はなんなんかね? 同じようにアップル謹製ソフトの作りがよくないだけだろうけど クイックルックが常時エラーって・・・・ >>572 それはオマ環じゃないの。>>573 って言っておいてなにを言ってるんだかだよ 「1分ごとの四六時中出てるし」というようなことを最初から言えってことなのに >>566 のもそんなのだったらあんなこと書かないだろうし、うちでも接続があったときにだな(厳密には違うが。逆に出ない時があるという) >>573 だから、原因は同じだろう。APIが(内部で)出しているメッセージじゃないの。俺を使うんじゃねえという まあ、再インストールでw ちなみにMojaveじゃなかったりする?MojaveではApple謹製(wwww)のが増えているような。dirなんちゃらとLocationなんちゃらだったかな クリーンインストールにほぼ近いんだけど
>>575 >それはオマ環じゃないの 違うんだなそれが ウェブで検索したら出るわ出るわ 同じこと聞いてる こっちは別々の場所の6台のマシンで 全部同じエラーが目白押しだが それをおま環とはね >>575 >「1分ごとの四六時中出てるし」というようなことを最初から言えってことなのに ショーもないな 結局そういう所しか食いつけないんだな まあ アップル謹製ソフトの作りが悪いのかも?というところはフィードバックした >>576 >ちなみにMojaveじゃなかったりする あー確かにmojaveじゃないけど mojaveでは出てない? なら今は改善されたってことかな? >>575 >だから、原因は同じだろう そういう認識で良いならそれでいいけど 確かにこのエラーを記録させているのはクイックルックだろう しかしクイックルックが1分ごとに起動しようとしてるってことだよ? 起動時にエラー出してお仕舞いではないってことだけど? >>576 ,579 ふーん。そういう異常が数多くある?オマ環だとしか思えないけど うちでは違うし、>>566 もあるし、出ることは出るけど出るタイミングがなるほどねでしかないからな だから、うちでは正常だっての。そんな異常なの理解できるわけないだろうに、なにが食いつくだかな。なんかそういうこと言うこと自体でアレくさいw >>579 読めない人だねえ、「増えている」って言っているじゃん。出るのはしょうがないんだろう、その「1分ごとの四六時中出てるし」は異常だが >>580 なにを言いたいのかさっぱり。あのメッセージは起動した時に出るわけじゃないからね。まあ、起動した時にだけそういうAPI読んで終わってるのがクイックルックなのかもしれないが 口数が多いがいろいろアレだなあ ああ、うちではメインはSierra 10.12.6 ね com.apple.screensharing は、Sierra 10.12.6 でのの話。Mojaveももちろん同じく1分ごとの四六時中出てることはない
>>581 >ふーん。そういう異常が数多くある?オマ環だとしか思えないけど (com.apple.quicklook[3854]): Endpoint has… - Apple Community https://discussions.apple.com › ... › macOS Sierra 2017/01/04 - 回答 16 件 - 投稿者 13 人 I'm on 10.12.6 with OS X server. ... com.apple.xpc.launchd[1] (com.apple.quicklook[10539]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.quicklook. Screen Sharing misbehaving. - Apple Community https://discussions.apple.com › Desktop Computers › Mac mini 2015/10/27 - 9 件の投稿 - 投稿者 2 人 com.apple.xpc.launchd[1] (com.apple.screensharing[1064]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.screensharing.server. I've also followed how ... Apple Remote Desktop Hacked? - Apple Community https://discussions.apple.com › ... › Apple Remote Desktop 2018/08/26 - 2 件の投稿 - 投稿者 1 人 I've always kept the remote management icon (binoculars) in my menu bar on my systems and a couple days ... I need some help determining whether I was actually hacked or if this was some kind of fluke. ... Aug 23 17:44:36 iMac-5K com.apple.xpc.launchd[1] (com.apple.screensharing[70860]): Endpoint has been activated through legacy launch(3) APIs. .... If you have port forwarding for ... Macのリモートデスクトップ(画面共有)〜やり方と気を付けたい事 ... https://www.netagent.co.jp/study/blog/normal/20181108.html 2018/11/08 - ... [リモート先 端末名] com.apple.xpc.launchd[1] (com.apple.screensharing[UUID]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.screensharing.server. Warning: Endpoint has been activated through legacy launch(3) APIs ... https://github.com/halo/macosvpn/issues/10 >>581 >ふーん。そういう異常が数多くある?オマ環だとしか思えないけど 2015/09/22 - Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.ReportCrash.DirectoryService pops into sys log when creating a cisco ipsec vpn. YOU BLOCKHEAD! Turning on Screen Sharing on a remote Mac remotely ... https://arstechnica.com/civis/viewtopic.php?p=25927237 2013/12/21 - 40 件の投稿 - 投稿者 12 人 Basically, in a completely boneheaded move, I turned off Screen Sharing in the middle of a Screen Sharing ... If the above line works without sudo, then you could put it in a shell script and then have that run on login ... From there it "may" be possible to twiddle the com.apple.screensharing.plist in /Library and re-enable it that way. .... Could you replace that alias with and expect ... How to enable OS X screen sharing from the command line • my2cents https://frightanic.com/apple.../enable-os-x-screen-sharing-command... 2016/01/01 - After a recent OS X update mangled my Mac Mini's sharing setting I had to learn how to enable OS X screen sharing from the command line. Here's how. One of the first articles my favorite search engine turned up was blog ... bash - Endpoint has been activated through legacy launch on Mac ... https://apple.stackexchange.com/.../endpoint-has-been-activated-thr... >うちでは違うし おま環? >>581 >読めない人だねえ、「増えている」って言っているじゃん。出るのはしょうがないんだろう、その「1分ごとの四六時中出てるし」は異常だが おまえなに読んでんの?「増えてる」のは何ですか? >>576 >?MojaveではApple謹製(wwww)のが増えているような。 >>582 >あのメッセージは起動した時に出るわけじゃないからね。 何言ってんだか あのメッセージ出してる原因はacreensharingだけど 書き込んでんのはlaunchdなんだけど? 起動時にエラー出てるってことよ >>584 ,585 いや、だから、その数かという。オマ環というのは ID:Gmz/Z0k60 「お前[だけ]」の環境というわけではないぞ?そういう場合もあるかもしれないが全体から見たら少数だろうということだぞ? >>586 イミフすぎ。>>576 に対しての>>579 に対しての>>581 のソコだけど。自分で何>>579 で書いたか忘れたの?馬鹿じゃないのと思わざるを得ないぞw >>587 異常な環境のあんたにはわからないかもしれないが、com.apple.screensharingのプロセスIDは変わらない。プロセスIDまで出しているメッセージなんだから対象はそのプロセスだろう(bootstrap_check_in()あたりからはkqueue関連かな?よくわからんが) いや、異常な環境なあんたでもわかるかな?com.apple.screensharingがしょっちゅう起動してる異常じゃなければ いろいろ監視してるんだろ、launchdは。知らんけど、launchd.conf見たりしても ああいえばこういうで、何をしたいの?記事やレスを読めないのに、正常な場合がある(それをオマ環とか言い出すし)と理解できないのに?単なるプライド?ww https://pastebin.com/Z0mLHEkt dirなんちゃらはdirhelperだった。Seirra(というか今日の)にも入ってたのね ほぼMojaveはクリーンインストールに近いはずだが、quicklook並みかそれ異常で出てたなあw
>>589 まず 環境はそれぞれ その中に何か問題がある 情報を持っている人が居たら教えて欲しいと言っているだけのことに おま環という言葉を使うのは分からないということを認めたくないという為にする用語ね それは別にして この件についてはほぼ原因が分かったのでたぶん今後は大丈夫 けれどquicklookdの方はまだ分からないなあ 何かデータベースを作ってるらしい解説があるけど・・・・ >>589 >>>586 >自分で何>>579 で書いたか忘れたの?馬鹿じゃないのと思わざるを得ないぞw >>576 で「mojaveじゃないんじゃないの?」というのは「mojaveだと出てないけどそっちはmojaveじゃないから出てるんじゃないの?」という意味に取ったけど? それで「MojaveではApple謹製(wwww)のが増えているような」は「mojaveではアップル製のデーモンが増えている」という意味に取ったけど? >>579 はそういう解釈から書いたわけでね 巻き戻すと >>579 の「MojaveではApple謹製(wwww)のが増えているような」は「アップル製のデーモンのエラーログが増えている」という意味だったということね じゃあこちらの誤解だわ 巻き戻すと mojaveでもこの手のlaunchdのだすアップル謹製エラーログが増えているのね?つまりmojaveでも何も改善していないってことか じゃあmojaveかどうかは関係なしか アップルは自社のマシンではウォーニングのログ山のように出てないんだろうかな >Jun 28 22:17:11 bafoom.mil com.apple.xpc.launchd[1] (com.apple.quicklook[8548]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.quicklook こんなん アプリの作りが悪いって云うだけならすぐ改善できそうなのに これじゃフィードバックしたけど無駄かもな
>おま環という言葉を使うのは分からないということを認めたくないという為にする用語ね wwwホントにOS XをUnixとして使ってる人wなのかね。すげええな そういう意味じゃない。なんらかのコンピュータをあれやこれやする人、それどころか、あれやこれやのコンピュータ触るにはわかるだろうに >>592 イミフ。独特すぎのをなにを長々と。読み間違えたというより後も読んでいない読めないってだけだな 結論、独特すぎてもう...w >>594 >そういう意味じゃない。なんらかのコンピュータをあれやこれやする人、それどころか、あれやこれやのコンピュータ触るにはわかるだろうに どういう環境でどういうことが起こるかすべて分かるわけ無いし 原因が分からないことを隠さなくてよいよ quicklookdがなぜ頻繁に再起動しているのか分からないけど そっちの方も分からない? 再起動頻繁なのは <key>ThrottleInterval</key> <integer>1</integer> だからだと思うけど ということはアップルも頻繁に再起動させたいと思ってるんだな 何でかな 隠すとかイミフ。よほど自分のそういうナニか癪にさわるとこがあったらしいとしか思えない 自分で「環境はそれぞれ」と言っているのに、まさしく「それぞれ=おま環」だろうに。特に、異常系を指しての 自分で何を書いているのかもわからないんだなあ... 結論、やっぱり独特すぎてもう...w
>>596 >隠すとかイミフ。よほど自分のそういうナニか癪にさわるとこがあったらしいとしか思えない 自己紹介乙としか言い様が無いな お前が言いたいのはここに書いてある >結論、やっぱり独特すぎてもう...w おま環w >>595 >quicklookdがなぜ頻繁に再起動しているのか分からないけど >そっちの方も分からない? quicklookdはmds共々データベース構築まで無理矢理CPU使いまくるらしいね 上手く動いている間は役に立つけれど トラブルの元凶になりやすい仕組みみたい spotlightのように安全に切る方法があれば切りたい quicklookについて調べてたら 最初の件に関係ないけどセキュリティ上の問題も起こすかもと警告するページがあったので qlmanage -r でキャッシュを消すことにした なんかいろいろ面倒だなquicklook
何を言っているんだか、やっぱり読めてないんだな そゆとこだよ「独特」と言っているのは
>>600 君ある時点からそれしか書いてきてなくて呆れる おま環という用語に逃げ込んだということよ quicklookdはmojaveでも >Jun 28 22:17:11 bafoom.mil com.apple.xpc.launchd[1] (com.apple.quicklook[8548]): Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.quicklook このウォーニング出し続けているんだね? それでhigh sierraの頃よりもアップル謹製で同様のウォーニング多くなってると quicklookdは1秒単位で再起動する というか終了しても1秒で再起動の設定になってるから 人によっては相当のウォーニング量が/var/log/system.logに残ってるはずだけど 気にしない人多いのかな? quicklookdはデーモンなんだし本来はそんな頻繁に終了するとは思えないんだけどなあ
ああ...「そういうこと」と言っても読めないかっw
うわごとのように繰り返し 何の意味も無いことしか書けなくなってきたか>>603-604 知識が無いのはよく分かったから別にそんな卑下しなくて良いよ それにしてもquicklookdの頻繁な再起動を問題視していない人が多そうね こっちだと10時から Jun 29 21:59:22 com.apple.quicklook Jun 29 22:04:29 com.apple.quicklook Jun 29 22:08:39 com.apple.quicklook Jun 29 22:16:04 com.apple.quicklook Jun 29 22:20:15 com.apple.quicklook Jun 29 22:24:26 com.apple.quicklook Jun 29 22:27:59 com.apple.quicklook Jun 29 22:32:10 com.apple.quicklook Jun 29 22:36:21 com.apple.quicklook Jun 29 22:40:32 com.apple.quicklook Jun 29 22:44:43 com.apple.quicklook Jun 29 22:47:26 com.apple.quicklook Jun 29 22:47:48 com.apple.quicklook Jun 29 22:47:49 com.apple.quicklook Jun 29 22:52:00 com.apple.quicklook Jun 29 22:55:03 com.apple.quicklook Jun 29 22:56:03 com.apple.quicklook Jun 29 22:56:12 com.apple.quicklook Jun 29 22:56:16 com.apple.quicklook Jun 29 22:56:18 com.apple.quicklook Jun 29 23:00:29 com.apple.quicklook Jun 29 23:04:40 com.apple.quicklook Jun 29 23:11:46 com.apple.quicklook Jun 29 23:15:57 com.apple.quicklook こんだけ続いてる おおむね4分ごとか 何か意味あるかな? いや、そんな悪い言葉羅列はしたくないなという なにかよほど馬鹿にされたのが嫌だったらしい。やんわりとなのにww根拠あってなのに
とりあえず繰り返し言っても聞く耳をもたない というか、全く自分の非が無いと思ってるらしいな。まさかとは思ったがw じゃあしょうがないわな。ほんと独特。言うなれば独善なのに、まあいいやw
>>608 独善も何も いろいろ困ってるって話しただけなのにね screensharingは解決じゃないけど原因分かってあとはquicklookdだけ そっちじゃこんなに再起動してないの? 独特、独善な人はわからないかもしれないが、そんな独善なヤツに付き合うわけがないよ、世間一般的に 独特と言い出したのはそゆとこだよ、そこさえすっきりすれば会話になるんだが、独善な自己中にそこまで合わせて話をするわけがない、世間的にもw >>603 のそういうことはそういうことw って言っても聞く耳をもつわけがない、気分を害するだけだろうけどな >>589 >com.apple.screensharingのプロセスIDは変わらない 解決はしてないけど原因は分かったからもう良いと言えば良いけど こっちでは毎回PIDは違ってたということは書いておいた方が 君の精神衛生上良さそう >>610 付き合わなくてイイと思うよ? 書けることなさそうだし ほら、やっぱり気分を害して攻撃的w それが「異常」って言ってるのに、とんちんかんな攻撃だな。SierraでもMajaveでもPIDは同じだよ、正常なうちでは 「付き合う」の意味を取り違えているな。読めない人だねえ。やはりただ分を害して攻撃的 ダメな人だねえ、やはりw
また、どうせなんかああいえばこういうだけのこと言うだけだろうけど >いや、異常な環境なあんたでもわかるかな?com.apple.screensharingがしょっちゅう起動してる異常じゃなければ って書いてるのに。さて、どうする?独特、独善な人の行動はもう見えすぎだけどww
基本的にちゃんと会話しようよというだけなんだけどなw
>>613 >ほら、やっぱり気分を害して攻撃的w 煽っても仕方ないんだけどな 自己紹介しかしないね君 君は答えられないことを排除したいってだけってことだよ >>614 こちらの状況を説明しただけだけど? 君と違うんだよってことで納得して貰いたかったんだけど 無駄だったみたい まあどうもquicklookdの頻繁な再起動は 気になって仕方ないんだけど ググっても問題提起が多数見つかるだけで 解決法もないし どうしようもないかも アップルへのフィードバックに 真摯に対応してくれたらいいんだけど これもググったら何年も状況変わってないらしいこと書いてるところもあるから アップルにも期待するだけ無駄かもね
>>620 君の所では/var/log/system.logに異常は見つからない? OSのバージョンとかは? やっぱりああいえばこういうだけだったw進歩がないようなで残念
>>624 あらら同じことしか言わないからだって書いてるのに コマンドラインからタグを設定する方法ってありますか?
ログファイルへの追記とローテートについて質問があります シェルスクリプトで既存のファイルに追記していて ローテートでそのファイルが圧縮されるのですが その場合新しく作られた同名のファイルに追記していくのは 簡単にはできませんか
cuコマンドですがsudoを付けないと動かないんですが、何を治したらいいですか? $ cu -l /dev/tty.なになに -s 115200 cu: creat during lock (/var/spool/uucp/TMP000000b766 in /Users/名前 as uid 501): Permission denied cu: /dev/tty.なになに: Line in use
/var/spool/uucp に書き込み権限付ければいいんじゃね。無理にでもsudo使いたくないんだったら
もしくは、cu に SUID を起てたのを使うとか sudo cp -p /usr/bin/cu ~/bin/cu sudo chmod u+s ~/bin/cu ~/bin/cu -l /dev/tty.なになに -s 115200 /usr/bin/cu 及び /var/spool/uucp の user が _uucp という独自のだからこっちの方かな?
>>630 スーパー遅レスだが、 単に定期的にファイルをオープンクローズするんじゃ駄目なんかね。 シェルでどう追記を行ってるのかによるけど。 tailコマンドの-Fオプションはファイルのローテートを検知するようになってるよね。 そういえばtailはちょっと面白いコマンドで-fなんかの実装も時代によって変わり、 今は大概のOSにファイルイベントの通知機構があるからそれを使ってるとか。 macOSだとfseventsだっけ? これをコマンドラインから使うには... >>634 ありがとうございます 1行毎にwhileで読んでechoで追記していくことにしました これなら1行毎にファイルオープンクローズで効率は悪いですが ファイルが変わっても名前で追記して行けそうです ログローテートに対応してるコマンドは, 何らかのシグナルを受けたら, ログファイルを,クローズして再度オープンする処理を するようになってたりするよね。
OSXはnewsyslogってので回してるんだ。BSD由来なのかな?linuxでみるlogrotateと少し違って前処理、後処理さしこめないみたい。 シェルスクリプトなら都度オープン、クローズでよい気がしますよ。自分ならechoじゃなくてloggerを使いますが。
>>637 >自分ならechoじゃなくてloggerを使いますが。 echo $line >>/var/log/foobar.log を logger $line としただけでは/var/log/system.logへの追記ですよね asl.confでfoobar.logに追記するファシリティ・レベルを-pで指定するのですね >>638 そうです。 いちいち引数書くと面倒なので関数にしてた。 出力先ファイル名とかファシリティ変えたくなったときにも直すの簡単だし。 lopinfo() logwarn() logdebug() とか。 そういえばmacOS上のログもいろいろ変化しているみたいねえ。log? os_log? とりあえずloggerはPOSIXみたいなのでmacOSがPOSIX準拠な限り安心かw
VPNでリモートに繋いでいるとき、別のプライベートアドレスへの接続もそのリモートの方に ルーティングされるんですが、これって変更できますかね。 普段はWi-Fiで普通のネットに、USBにデバイスを繋いで192.168.1.*のアドレスを振って接続 しています。これでVPNがoffの時は無問題なんですが、VPNをオンにした途端、全部が Wi-Fiの方へ行ってしまいます。
よくわからんが、その機器と同一セグメントのはVPNなんぞには送られないよ いまいちどういうネットワークかわからんが、別のプライベートアドレス=別の(プライベートアドレスの)セグメントのなら単にroute設定するだけでできるよ route設定してないからroute設定してないアドレス宛のがデフォルトゲートウェイ(=VPN先になってるんでしょ)に送られるだけで あとは、まさか、VPN先も同じセグメントのプライベートアドレス使ってたりだったりか?それはないか、ルーターにとか届かなくなりそうで
>>644 どうもです。えっと普段は 1. 自宅のルーターのLANに10.0.0.0/24のアドレスが振ってあり、MBPをWi-Fiでそれに接続。 NAT経由で外に出て行く。 2. あるデバイスとMBPをUSBでピア接続して、192.168.1.0/24のアドレスを振って通信。 VPNサーバに接続すると、接続先には10.*.*.*/22みたいなアドレスのネットがあり、 その中ではそこの1アドレスが割り振られる。こんな感じの情報でいいでしょうか。 >10.*.*.*/22 なぜ隠すw身内に特定されるかもからかw 10.0.0.0/24のアドレスと192.168.1.0/24のアドレスはそのMBPにあるのね、インターフェースが違うけど、であればそのセグメントに直に繋がってるので、VPNとか向かいそうにないけどなあ、10.0.0.0/24のアドレスと192.168.1.0/24のアドレス宛のは なんか知らんが(USBでピア接続でなんか特殊な条件あったっけ?)、routingが狂ってるのかな? netstat -nrt なんぞで、 192.168.1 がどうなってる、もしくは、どう変わってるとか見てるかな、まずは
ああ、すでに確認して、routingがおかしいのはわかっていて、 >別のプライベートアドレスへの接続もそのリモートの方に >ルーティングされるんですが は192.168.1.0/24 がVPNの方に向いているということか(なんで?変なのw) だったら、消せば(他に無いんだったら改めて設定で)いいんじゃないの。消せたよな確か
Gateway が link#番号 になってるだろうから、 sudo route delete -net 192.168.1.0/24 -interface 「Netif Expireのインターフェース名)」 sudo rouet add -net 192.168.1.0/24 -interface 「USBでピア接続のインターフェース名」 でいいんじゃないのかな
>>646 あ、別に隠す必要はないんですが(10.*もプライベートですよね?)適当に。 VPN接続中のnetstat -nrtのめぼしいエントリをとりあげると default link#13 UCS 60 0 utun1 default 10.0.0.1 UGScI 8 0 en0 ... 192.168.1.2/24 link#17 UCS 1 0 en5 ! 192.168.1.244/24 link#13 UCS 0 0 utun1 などですかね。en0がWi-Fi、en5がUSB、utun1がVPNですね。 192.168.1.2がUSB、192.168.1.244がデバイスのアドレスです。 >>648 sudo route delete -net 192.168.1.0/24 -interface utun1 ですか? 試してみたら route: writing to routing socket: not in table delete net 192.168.1.0: gateway utun1: not in table と言われてしまいます。 sudo rouet add -net 192.168.1.0/24 -interface en5 はエラー無しですが、ルーティングに 変化はないようです。 ちなみにVPNもmacOS付属のやつとかだと192.168.1.0は大丈夫なんですが、接続先から Cisco AnyConnectというのを使えと言われていて、それだとこうなります。当然と言うか、 これを使うと家のLANの他の機器も見えなくなります。 普通のネットアクセスをトンネルするだけならプライベートアドレスは放置でいいんでしょうけど 接続先もプライベートな場合はVPNの方に強制送信みたいになると言うことでしょうかね? それでもrouteコマンドとかで変更できそうなものですが... あ、手で書いたらシンタックスエラーしてるw ちゃんとコピペすべきだった
いや、10.*.*.*/22だと、10.0.0.0/24と被る可能性があるから被ってるのかどうかわからん、晒す意味がないなと。せめて違うよとわかる 10.1.*.*/22 とかまで出してくれないという よくわからんな、ご説明がw 192.168.1.244/24 link#13 UCS 0 0 utun1 これが問題でしょ、消すならテーブルに存在して表示されているそのままに sudo route delete -net 192.168.1.244/24 -interface utun1 かな?(バージョンによって違うのか?)、Cisco AnyConnect(こいつが何か余計なアホなことしているようかな)を使う前と同じにルーティングにすればいいよ、192.168.1.0/24 のを
>>652 > sudo route delete -net 192.168.1.244/24 -interface utun1 これをやると delete net 192.168.1.244: gateway utun1 とは言われますが 192.168.1.244/24 link#13 UCS 0 0 utun1 などのエントリーは消えず、やはり駄目のようです。 あ、後出しですがmacOS Mojave(10.14.6)ですw >>653 セキュリティーポリシーでVPN時にはローカルなネットワークには繋がらないのかな? 確かに、例えば公衆回線からVPNに繋ぎたい場合とか、そうすることでセキュリティーを 上げることができるでしょうからそうなってるのかなあ。 -net を -host に変えてみるとか。192.168.1.244 までなら host としか思えんが、/24付いていたので -net のままでいいかなと まあ消せるよ、たぶん。Cisco AnyConnect が余計なことしてなきゃw Cisco AnyConnect で設定できるならそっちの方がはやいんじゃね セキュリティの考え方だろうけど、アホだなと俺は思う、どうであれセキュリティのためにインターネットに繋がないというレベルの(もちろん、そういうのが最上一択に近い場合もあるだろうが、無闇にという場合ばかりだなw)
ちなみに、 >例えば公衆回線からVPNに繋ぎたい場合とか、そうすることでセキュリティーを >上げることができるでしょう 上げるも何もないよ、それだけなら。普通はVPNの接続点(繋げてるPC)は他のをそれにIPパケットをフォワーディングはしない まあ、インターネット共有などを不必要にオンにしてるアレな人のような例外がいた場合に対しての必要以上の警戒としてかもね(そのルータを設置したやつもよく考えてないでデフォのままだろうと思うけどw) スレチだったなw
crontabの中身を更新するスクリプトをcrontabに書いて動かしてたがmojaveではエラーで動かない 環境設定のセキュリティのフルディスクアクセスに/usr/local/bin/pythonを付け足そうとしたが出来ない 仕方ないからpythonで簡単似非cronを書くことにした 書くことにしたが面倒臭くて書く気になれない
>>657 crontab -e コマンド使ってる? 直接ファイル編集してたら反映されないと思うけど。 >>658 cronサービス再起動してるんじゃないの?HUPは対応してないのね(?) crontab使った方がまともだと思うけど(-e でなくていいんじゃね) みなさまレスありがと<(_ _)> フルディスクアクセスにcron登録で出来ますた(ゝω・)vキャピ >>658 crontabに標準入力から流し込みました >>659 変態なのは知ってるけど、なんかatコマンド嫌いだし、 既存のエントリー含めcrontab見れば良いだけだから手軽かなって(あっちこっち見るのヤダ) systemd使えんの?cronはsystemdによって置き換わった
systemdというのならmacOSではlaunchdだな
新・mac板なのにlaunchd知らないってどういうやつやねん>>662 は Mac上でtarのアーカイブを作った時に自動的に ._(ドット アンダースコア)で始まるファイルが追加 されるようですが、これを追加しないでアーカイブを作る方法はありますか? 今回ファイルのメータデータは必要ない& Mac以外の環境でも使うファイルなので余分なファイルは 追加しない方向です。
ググったらすぐにあるやん? COPYFILE_DISABLE=1 tar cf ... だって
環境変数越しではなく、オプションもあった、ソース中にで --disable-copyfile tar --disable-copyfile -cf ... かな。試してないけど
>>668 >>669 なるほど、ありがとうございます。 Unix的にmanを見たんですがこれらのオプションは載ってなかったですね。 プラットフォームに特有なオプションとかは隠してあるのかな? ... と思ったらすんません、これだけじゃないみたいですね。上記のオプション付きてtarアーカイブを 作ってとりあえずドットアンダースコアは消えましたが、Ubuntu 上に持っていて展開しようとするときに tar: Ignoring unknown extended header keyword 'SCHILY.dev' tar: Ignoring unknown extended header keyword 'SCHILY.ino' tar: Ignoring unknown extended header keyword 'SCHILY.nlink' とか出ますね。一応無視していいみたいですが。 tar っていろんなバージョンがあるんでしたっけ。
アップルの独自部分は、まあ、そういう手抜きは所々ある。単なる手抜きだろうw ググれよw BSD tarと GNU tar の違いによるだって。ほんとかよっだが。ほんとかなあ??w macOSのは BSD tar 。ソースが bsdtar.c だし、/usr/bin/bsdtar だった、本体は HomeBrew で gnutar/gtar を入れるかな そんな、BSD tarと GNU tar との違いってまだ本当かなあ??と思うので、なんか互換性持たせるオプションがあるかもね
>>672 あ、そのリンク読んでなかった。ustar のことも書いてあるやんっ 再び失礼 皆さん度々ありがとうございます。 tarで他人にデータを渡す時に、非Mac上で作業している人に「余計なもん入れてくんじゃねー」とか 言われたりしてちょっと気になりまして。 ちなみにzipでも似たような現象があったと記憶していますが... あれ、今試したらzipには入らず。 tarのときと同一のファイルですが。確かに以前zipでも文句を言われたことがw しかし、ということはtarとzipではMac上でアーカイブ->展開後、結果が違うことも? しかし、このドットアンダースコアの部分って典型的には何の情報が入ってるんですかね? ターミナルの コマンドで生成したただのテキストファイルなんかでも生成されるようですが。
それもググればわかることだからここで聞く話ではない
Windowsもターミナル完璧なのが出るらしいな UNIXじゃないけど高機能らしい
Windowsもいい加減ドライブって概念を捨てなよ そうすれば一般社会に仲間入りできるから
Mojaveでntpserverを設定するには環境設定か、 sudo touch /var/db/ntp-kod sudo chmod 666 /var/db/ntp-kod sntp -Ss [ntpserver] するか、 systemsetup -setnetworktimeserver [ntpserver] なんだな いずれも複数のntpserverの設定は出来ない やりたければローカルでchrony辺りを立ち上げる感じか きっとcatalinaもbigsurもそんな感じなんだろなぁ
checking whether getopt is POSIX compatible... no あれ、POSIX準拠じゃなかったの?
checking whether getopt is POSIX compatible... yes
opendirectoryって今誰か使ってるの? てゆーか使ってるんだけど ユーザが居なくなっちゃったときどうすれば良いか sudo$ sudo -s sudo$ launchctl unload /System/Library/LaunchDaemons/org.openldap.slapd.plist sudo$ /usr/libexec/slapd -Tt sudo$ db_recover -cv -h /var/db/openldap/openldap-data/ sudo$ db_recover -cv -h /var/db/openldap/authdata/ sudo$ /usr/libexec/slapd -Tt sudo$ launchctl load /System/Library/LaunchDaemons/org.openldap.slapd.plist こうやれって書いていたサイト有ったけど いちいちこれ何やってるんだろ? これでだめなら sudo$ slapconfig -restoredb /private/var/backups/ServerBackup_OpenDirectoryMaster.sparseimage ても書かれてたけど これってつまりマスターのアーカイブというのをserver.appで事前に作っていてればそれを読み込むということ? もう誰も使ってないんだろうか 死んでしまいそう
| \ |Д`) ダレモイナイ・・オドルナラ イマノウチ |⊂ | ♪ Å ♪ / \ ランタ タン ヽ(´Д`;)ノ ランタ タン ( へ) ランタ ランタ く タン ♪ Å ♪ / \ ランタ ランタ ヽ(;´Д`)ノ ランタ タン (へ ) ランタ タンタ > タン
ヽ(´・ω・`)ノ (( ノ( )ヽ )) < >
>>687 >opendirectoryって今誰か使ってるの? Open Directory 自体は macOS使ってるみんな使ってる OpenLDAPなのはmacOS Serverか 古いpythonスクリプトを走らせようと思ったら1行目が #!/usr/bin/pythonになってる ファイルが結構ある Montereyを使ってますが、/usr/bin/pythonがないだけでなく、/usr/bin/は簡単に 書き込んだりできないし、古いスクリプトだからpythonもv2系だと思われ こんなスクリプトを走らせるのにどうしたらいいか教えてください
その古いスクリプトの方を書き換えればいいだろ #!/usr/bin/python を、pythonもv2系のに
python そのスクリプト で起動してやればshebang無視して実行してくれんじゃない
>>693 >ファイルが結構ある =めんどくさい が主なポイントかと。python そのスクリプト はめんどくさくね? ある意味簡単に書き換えられる(/usr/bin/python は元々 python2 でしかなかったようだから、/usr/local/bin/python2 に書き換えてしまっていいだろう)し、 ファイルが結構あっても簡単に書き換え(それも今回一度だけ)できるのがシェルスクリプト/OS X をUnixとして使ってるだろになっていう どうも、>>691 ですが、やはり !# /usr/bin/python を書き換えました まずpython2がなかったので公式からバイナリを落とすところから あと、そのスクリプトのディレクトリには昔コンパイルしたバイナリも付属していた のですが、quarantineで引っかかったり /bin/shは今はなんでしたっけ、とりあえずシェルスクリプトは問題なかったです bashでしょ dashがデフォで入るようになったからそのうちdashになるかもね
こんなん出ましたけど % uname -r 21.6.0 % ls -l /bin/sh /bin/bash /bin/zsh -r-xr-xr-x 1 root wheel 1326576 Aug 24 01:59 /bin/bash -rwxr-xr-x 1 root wheel 150384 Aug 24 01:59 /bin/sh -rwxr-xr-x 1 root wheel 1377872 Aug 24 01:59 /bin/zsh
>> 697 ログインシェル、Teminalでインタラクティブで使うようなシェル、ユーザが好みでユーザ毎に選べ設定できるシェルがな それもデフォルトが変わっただけ。元々zshはずっと昔から入ってるが、ユーザ作った時にユーザのログインシェルのデフォルトがbashからzshに変わっただけ /bin/sh は違う、汎用的なコマンド化したようなシェルスクリプトを走らせるためのもの。使い勝手よりもポータビリティ(シェルの違いによらない互換性重視)のための Montereyでもbash (bashのライセンス変更前の古いバージョン)。/bin/shで実行されるとPOSIX互換で動作する(はずだが数々のbash独自のも許容してるけど) って、Unixとして使ってるなら常識w
>>698 /bin/sh --version とかしてみ。/bin/shがどうなってるのかよくみてみ >>690 >Open Directory 自体は macOS使ってるみんな使ってる そう言う意味ではなくて・・・ 結局作り直したけど なにやってるのかなあ >>700 % /bin/sh --version GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin21) Copyright (C) 2007 Free Software Foundation, Inc. % /bin/bash --version GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin21) というわけで区別できません、残念w だけど % strings /bin/sh | grep PROGRAM @(#)PROGRAM:sh PROJECT:dash-12 % strings /bin/bash | grep PROGRAM @(#)PROGRAM:bash PROJECT:bash-125 だそうで
あ、>>704 で二番目の出力の二行目を削っちゃった、失礼 おなじく Copyright (C) 2007 Free Software Foundation, Inc. があります macOSのビルドというかバージョン管理のこの部分は昔から変わっていないようで ところでこの文字列をちゃんと扱うコマンドがあった気がしますが、どなたかご存知 ですか? 自分はmacOS上の開発からはだいぶ離れていて忘れてしまいました 大昔のrcsだとidentっていうのがありましたが(っていうか今、それを確認するため だけにrcsをインストールした自分w)
>>704 /bin/sh --version で、/bin/sh で起動される実態が bash なのを確認しろ が、第一 /bin/sh に興味があるなら詳しく見てみってのが、第二 いつぞやからか、いつぞやまでは、/bin/sh は bash を別ビルド(ビルド時のなんかのオプションをオンだったかな)で、サイズはほぼ同じ 不思議に思っているだろうのは、/bin/sh はシェルではなく、指定されたシェルを起動(するだけの)プログラムらしい 後者のはググレバすぐにある >>705 >PROJECT:dash-12 ! ??なんだろ、実態はdashなのかな?(サイズ的にはまあ合ってる感じ)、起動すべきのが設定されていなかったら、元のdashでとか=そのうち 起動すべき のが消えるとかかな >>708 なるほど、man shに/private/var/select/shを起動するとありますね 私の環境では/private/var/select/sh -> /bin/bashとなってます なので--versionでbashと見分けがつかないと 念の為システムコールとか見とこうと思ったらdtrussとか使えない SIPをいじったりしてみたけど駄目。Montereyで使えてる人います?
シェルスクリプトの話か? POSIX原理主義者だが何か教えてほしいことはあるか?
>>708 >??なんだろ、実態はdashなのかな? ここでのdashは中の人が管理しているパッケージの名前ですね。おそらくその中で - macOSで使うdashのコード - /bin/shのコード(実行すべきシェルを探してexecするだけのコード、たぶんオリジナル) を管理しているということかと >>713 Apple Open Source で見れるやつのね 大体はコマンド名(複数のコマンドを含めたのは別)だから、dashってdashしかないんじゃないのかと 単なるキックコマンドを新しく作っていたとしても、dashに入れるかなあ。そもそも単なるキックコマンドにしてはでかいような(ちなみに、似たような単なるキックコマンドである /usr/bin/git は 18288 ) Apple Open Source のページはいつの間にか変わったな。今回のようなのからは探しやすくなったが、macOSバージョンでどういうのというのがなくった? それよりも、まとめてダウンロードできなくなったような >>714 >dashに入れるかなあ 現在の機能的には「全く」dashと無関係ということでね まあ、Appleはそのうち/bin/shをdashにするつもりまんまんw、そんな感じが感じ取れそうってことで
>>714 「でかい」ってそれはあなたの感想ですよねw 2アーキ分というのもあるし ソースがなければ〇〇したらいいじゃない /usr/bin/gitはコマンド名がccか、clangか、等チェックしてxcselect_invoke_xcrun というのを呼ぶだけですね。実際 % ls -li cc clang llvm-gcc c++ llvm-g++ clang++ git 1152921500312781207 -rwxr-xr-x 76 root wheel 167120 Aug 24 01:59 c++ 1152921500312781207 -rwxr-xr-x 76 root wheel 167120 Aug 24 01:59 cc 1152921500312781207 -rwxr-xr-x 76 root wheel 167120 Aug 24 01:59 clang 1152921500312781207 -rwxr-xr-x 76 root wheel 167120 Aug 24 01:59 clang++ 1152921500312781207 -rwxr-xr-x 76 root wheel 167120 Aug 24 01:59 git 1152921500312781207 -rwxr-xr-x 76 root wheel 167120 Aug 24 01:59 llvm-g++ 1152921500312781207 -rwxr-xr-x 76 root wheel 167120 Aug 24 01:59 llvm-gcc /bin/shは、もうちょっとだけロジックがある いや、/bin/shも同程度か お使いのOSバージョンによってファイルサイズは違いますね
あら、git以外にも開発系コマンドはほぼ全部? 同一なのね 面白いことをしますなあ、中の人