OS XをUnixとして使ってる人の為のスレ 18 [無断転載禁止]©2ch.net
iTerm 2のβ版ですけど、毎日最初の起動の時必ず左上にポップアップが出ます。
これを完全にオフにするにはどこの設定を変えたらいいんでしょうか? どういうのが出てんの?試しに入れてみたけど出なかった
ああ、iTerm2メニュー下にあるShow Tip of the Dayかな?
それならポップアップ中More Options下にあるDisable Tipsでいけんじゃない ずいぶん久しぶりに使ってみて、ちっちぇーこと↓だけど、良くなっててええね
ドラッグで文字選択するとき、最初と最後が狙いやすくなった
コピペで行末に無駄な空白が入らない、改行コードも入る
lessでスクロールするとき、ステータス表示がブルブルしない >>5
そのポップアップです。
Disable Tipsを押してもまたすぐ復活しました。 iTerm2 version 3ってiTerm3にならないの? >>7
押すと本当にいいか?って確認が出てダメ押ししないといけなかったけど、押した?
それやっててダメならバグなんじゃないの
眺めてたらちょい前のバグレポにもあったけど(レポ者の勘違い)
https://gitlab.com/gnachman/iterm2/issues/4552 【OS】 Mac OS X 10.8.5 (x86_64)
ターミナルのウィンドウを巡回するキーを「Fn+F1」から
「Command」か「option」を使うショートカットに変更したいです。
どうすればいいでしょうか? すいません、自分で変更できました。
Terminal.app のキーボードショートカットを変更する - basyura's blog
http://blog.basyura.org/entry/20090130/p3 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 ttp://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書き換えちゃえば? ググったらruby2.0に変更してくれてる有志がいるみたいよ?
ttp://carc.johnlackland.com よほどの事情がないなら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をまねしたら良いだけ
すっげー簡単 コメントサンクス。知らない事が多くて勉強になる。
この手のユーザー権限で動くスクリプトはagentとして定義すれば良さそう。
ttp://www.maruko2.com/mw/LaunchDaemons_(launchctl,_launchd.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 入れたら行けないかな
昔々このスレで教えてもらった >>76-78
昔別スレで同じような質問に答えたことがあったのだけれど、
それで解決したかどうかのレスはもらえなかったなぁ。
>スレッドを立てるまでもない質問 Part82
http://hibari.2ch.net/test/read.cgi/mac/1295343874/171,172 >>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の方が伸びたりして。 案外も何もそっちが本命だろ。でもどっちにしろ板違いです http://ascii.jp/elem/000/001/217/1217507/ に記事来た
面白そうかなと思ってたけど、スクショ見てげんなり
/usr/local/microsoft とか .dll とか
/usr/local/lib/microsoft ならまだしも >>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を押してみましたが、縦に分割されず新しいウインドウが出来るだけでした。
コントロール+ファンクションキーの他のショートカットも全て効かずファンクションキーとしか認識されませんでした。 どうもありがとうございます。
各自で設定してしなきゃいけないんですね。
ここのOption 2を設定したら使えるようになりました。
https://stackoverflow.com/questions/26180096/os-x-byobu-vertical-split
この中で、『PPAGE』『NPAGE』『INS』と書いてあるキーがあるんですが、これはアップルのキーボードでどのキーを指すんでしょうか? ああ、TERMの設定にもよるだろうが、Terminalデフォルトのキー設定はちゃんとしてるっぽい
F2はあるが、Control+F2の設定が無いってだけじゃないのかな。追加すればいいような >>148
ああ、解決したのね
フルキーボードの10キーとの間にあるやつだなあ。Appleのキーボードでも。フルキーボードでないAppleのキーボードではFnと同時押しであったようななかったような ああ、そういえばMac向けのフルキーボードではInsの位置にFnがあってInsどこいったねんだったりした
http://d.hatena.ne.jp/itohiroki/20101016/1287210720
これか?
なんか面倒なので、それらも好きなキーにその送信すべき値を設定に追加でいいんじゃね >>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 https://github.com/tmux-plugins/tmux-prefix-highlight
tmuxのステイタスラインにprefixを押したときとコピーモードに入ったときにそれを表示してくれるスクリプトです。
ステイタスラインの一番左端に置きたいんですが、prefixを押したときやコピーモードに入ったときのみ表示されるので、それらが表示されるとそれ以降の右側の項目が右にずれてしまってちょっと気持ちが悪いです。
prefixを押していない時とprefixを押したときの幅をそろえるには
https://github.com/tmux-plugins/tmux-prefix-highlight/blob/master/prefix_highlight.tmux
ここのどこを書き換えたら良いでしょうか?
prefixを押していない時は例えばmac OSのメニューバーの様に「りんごアイコン」を表示させたりしたいです。 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f) 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で再生 >>203
>>203
afplayでググりました!
curl -s http://www.nhk.or.jp/r-news/ondemand/mp3/20180318060003_13210_1_1_2.mp3 > /tmp/nhk.mp3 && afplay /tmp/nhk.mp3 && rm -rf /tmp/nhk.mp3
とりあえずこんな感じで再生出来る事が分かったんですが、途中で止めるとtmpファイルが残ったままになってしまうので、ダウンロードじゃなくストリーミングで再生する事って出来ますか?
あと、Siriで呼び出して直接コマンドやシェルスクリプトを実行する事って無理でしょうか? 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板内だと思っていました。
移動したほうがいいでしょうか? >>243
シェルスクリプトの書き方だから移動したほうがいいんじゃないかな
単にマッチする行があるかどうかならawkじゃなくgrepでいい
if文の中で実行するコマンドは実行直後の“$?”が0ならtrue、1ならfalse
$ mediainfo hoge.aac | grep '^Format profile *: LC$'
$ echo $?
elifが分からないと思えばリファレンスを検索
http://tiswww.case.edu/php/chet/bash/bashref.html#Reserved-Word-Index_rw_letter-E >>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' launchコマンド入れれ
https://sabi.net/nriley/software/
launch -h -a アプリ名
lsappinfoコマンド
lsappinfo launch launchandhide=true アプリへのpath
はなんかうまく行かなかった lsappinfoなんてあるのかあ。確かになんかlaunchandhideは本当に?ってのかな。nofrontも
openはman見たら無さげだったから無いもんだと思ってたが、あるらしい
-j だって。launchandhide/AppleScreitでのrunにあたる
-g って、nofront/AppleScriptでのlaunchにあたるのもあるらしい
https://apple.stackexchange.com/questions/123448/os-x-how-to-have-starting-applications-optionally-not-take-the-focus
確かに動く
(-j だけでもよさそうだが、-j と -jg ではちょっと違う。書かれているように -jg の方がよさげ) ああ、-g は man にも載ってたな。-j は man に無い(無いよな?w)が、open --help にはあるね >>252-255
ありがとうございます!
試してみます! folderをpackageにするにはどういうコマンドを使うの? フォルダの名前を変更して,拡張子.pkgを付ければ
パッケージになるよ
って,そういう話? >>258
拡張子なくてパッケージ(バンドル)なのがあるじゃん
アレなんかフォルダにフラグ立ってるって聞いたときあるけど
どうすれば愛かわからなくて Finderが特定の拡張子のフォルダをパッケージに見せてるだけだろ >>261
ううん
ビデオのAVCHDファイルに
拡張子ないよ 特定の拡張子(付ける)だけという他に、
(com.apple.)FinderInfo に これはバンドルです というフラグがあるのでそれを立てる
いにしえの SetFile コマンドなら、
SetFile -a B HogeHoge
https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/SetFile.1.html
SetFile に代わる今時のコマンドってなんだろなあ ああ、まだ SetFile/GetFile/GetFileInfo って現役というか存在するのね
Xcode.appの中にあった。たぶん、Command Line Tools for Xcode にもあるだろう
じゃ、SetFile で >>263
ありがとう
確かにパッケージになりました
ただ
残念ながら
QuickTimeで開けられるAVCHDファイルにはならなかったので
(パッケージフォーマットのファイルを開けませんと出る)
本物のAVCHDファイルってただパッケージなだけじゃないのね バンドルは単なるバンドルだからな
どういう書類(パッケージ?バンドル)かを指定するのは、また、別。指定してなければデフォルトのなんらかに対するっていう
「どういうバンドル/パッケージ」というのがあれば/付けなければじゃないとね
まさか、Type/Creatorと未だに生きているわけでもないので、UTIが拡張属性にあるんじゃね。もしくはInfo.plistかな? 正直AVCHDなんて知らんw パッケージだの言ってるのは、
https://www.youtube.com/watch?v=9ILRGxEWMc4
のことか?AVCHD Content って、macOSの正式なバンドル方法じゃないんじゃないの。SDとかHFS+なりmacOS固有のFile Systemでなんてなさそうだし
単に内容物が固有の形式ってだけとか。サンプルよこせ、もしくはどこからダウンロードできるか教えろw >>268
ファインダではパッケージで
パッケージを表示で中が見れる
うーん一体本物とどこが違うんだろ
>>267
ターミナルでも無いから >>269
Finderが特定の内容物/ファイル構造のをパッケージの一種として扱ってるだけだと思うけどな、もうw
拡張子だのバンドルフラグというmacOS正式/固有のとは全く関係ない、そのファイル構造だけを特別に意識しての 全然 Understanding じゃないけどw、
https://videoconverter.wondershare.com/hd/avchd-file-structure.html
とかなんとか。そのソフト売るために全然詳しく書いてないような気がするけど、まあ、その図の構造であればじゃないの。どれが必須でなにがなんだかだけどw やっぱ最初に背景とか前提とか出してない奴に付き合うもんじゃないな いや、素人さんなだけだろ。素人でなくて仕事としてっぽくもあるけど 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とのコマンド対応表見りゃできるだろ コードサインすればいいだけじゃんと試したがハマったな
During startup program terminated with signal ?, Unknown signal
ってことはコードサインまで済ませてたのね。そのエラーメッセージは前から出ていたようなので、GDBが悪い/macOSが悪いだのなんかあったような&GDBで.gdbinitにぃとかあるけどしてもやーん
結論は、8.1はまたなんかやってる(Developer Toolがあとか認証ダイアログが出てくるあたり?)、8.0.1にすればすればすんなり動いた
HomeBrewの標準パッケージには古いGDBは無いのかな?
https://stackoverflow.com/questions/49001329/gdb-doesnt-work-on-macos-high-sierra-10-13-3
で、8.0.1を入れた。8.0.1以上の動くのはあるかもしれんが知らん あ、うちも Sierra 10.12.6。いちおう http://lldb.llvm.org/lldb-gdb.html
こうやって見るとGDBにこだわる必要なさげ
まあ、LLDBのサイトなのでそのように見せているのもあるだろうし、似せてるけどちょっと違うコマンドがあったりするし、感触が違うとこがあるかもだが 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 >>311
https://developer.apple.com/support/macos-server/macOS-Server-Service-Migration-Guide.pdf
Apple固有の以外で今までもOSSでやっていた一般的なサービスはAppleはもう提供しない、各々OSS導入してねってことだな
Homebrewでも(自分で本サイトからでも)、もともと同じものだからできるだろうが、OpenDirectory/LDAPがめんどくさい/Apple流でやってるとこがめんどくさいから、コンテンツ(IMAPなメールも含む)の移行がメインで捨てるとこは捨てるだと割とスムースにいくかなあてとこかな >>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ユーザー 大した理由って?具体性の全くないレスをよく書けると感心する...なぞなぞか?
お前が馬鹿にしたいお前の頭の中のその対象とお前はなんら変わらんな ターミナルで動画を見る方ってありますか?
フルスクリーンの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を見えるところに置いてあげれば良いんじゃないの? https://qiita.com/shibukawa/items/0daab479a2fd2cb8a0e7
ここから状況変わってないなら両方ともゴミ。
pyenvとかいうゴミありがたがってるのはジャップとチョンだけ。 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 普通、全く ID:mwMb5dO20 の言うとおり
そのセキュリティ的なエラーはMojaveから(?)とか?
エラーぐぐったら、あった。よく読んでないけど
https://forums.developer.apple.com/thread/106320 あ、やっぱり同じか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自体は解釈してるみたいなのでロケールデータがちゃんとしてないのかな? https://opensource.apple.com/source/Libc/Libc-1272.200.26/stdtime/FreeBSD/strftime.c
(バージョンの付け方がよくわからんが、たぶん最新)
Eは実装を(まだ。まだまだ)してない。エラーにならない程度の処理かな、まだ
フラグ立てて続く次のをってやってるけど立てたフラグ使ってない。Eは無視して続く次のってだけだね https://github.com/freebsd/freebsd/blob/master/lib/libc/stdtime/strftime.c
元のは、これでいいのかな?全く同じく未実装だね。ここが変わればそのうちmacOSも変わるだろうな
Appleがここに独自に手を入れるということは無いだろう。macOSとしてはちゃんと対応しているので 今更だけど、結構前の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年に何かあったっけ。 たぶん、
https://memo.furyutei.work/entry/20150213/1423824322
この人の言っているとおり
日本人にとってユリウス暦もグレゴリオ暦もどっちでもいい。てか、グレゴリオ暦だけでいいユリウス暦混ぜられたらわけわからん。なので間違いがあっても放置されつづけられてんじゃないの
それよりも、日本人にとって旧暦と新暦だよな。だがしかし、現代人にとって旧暦なんてどうでもいい旧暦でなんて言われたらわけわからんてとこでもあろうw 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後,文字入力が行われる前に
画面に何か文字が出力されると,鍵マークが出るっぽいね 最近、iTerm2にステータスバーが搭載されていました。
何年か前のiTerm2からiTerm2にtmuxとの統合機能が搭載されていて、tmuxを$ tmux -CCで起動すると、iTerm2の新規ウインドウが開きiTerm2のウインドウやタブやペインとtmuxのそれらが統合されるんですが、新規ウインドウ側では今回のステータスバーが表示されないです。
どこかに設定があるんでしょうか?
デフォルトで使うプロファイルのSessionタブのStatus bar enabledにチェックを入れてあります。
参考にしたページです
iTerm2 にステータスバーが付いた
https://qiita.com/delphinus/items/1748937aefeb241bdcee
iTerm2 2.0の新機能: tmuxの統合
https://qiita.com/ksato9700/items/ec14ed55187f626ddb84 >>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だったんだ
自作スクリプトにコメント書いとこ NFCというか正規化を変換しないのがAPFSの仕様じゃなかったか
ファイル名を取得するとファイルを作成した時の正規化になってて
ファイルを開く時はNFCでもNFDでもアクセスできるようになってるはず
https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/APFS_Guide/FAQ/FAQ.html
>APFS preserves the normalization of the filename and uses hashes of the normalized form of the filename to provide normalization insensitivity,
>whereas HFS+ stores the normalized form of the filename on disk to provide normalization insensitivity. >ファイル名を取得するとファイルを作成した時の正規化になってて
どういういみ? >>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からの派生っぽいな。変えられんよな? わかった
http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html
%(x.true-text.false-text)
! ってなんやねんって、True if the shell is running with privileges なのね。%(!.#.$) で正解wだった。textなので一文字でなくていいよ(しないけど) $ 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
みたくなエラーが出てるんだけど
どう対処したら良いのか分かる人居たら教えて!
それはそれは沢山出ていて困ってしまって ログなんて普通に使ってたって山ほどでるじゃん
実際どう困ってんのよ そのメッセージは気にしない。>>565の言うとおり実際どう困ってるほど沢山なねん具合で
screensharing、quicklookの他にReportCrashなんぞも出されるな。メッサージに書いてある通りにしてないからだろう、単にセキュリティ的なWarningメッセージ
逆手にとって
https://www.netagent.co.jp/study/blog/normal/20181108.html
そのメッセージで自分が目を離した隙に接続されているかもの確認とかw >>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なんだけど?
起動時にエラー出てるってことよ quicklookdは/System/Library/LaunchAgent/から起動されていて
https://apple.stackexchange.com/questions/182631/quicklookd-and-revisiond-eating-my-cpu
みたいに異常になるとメモリを食い尽くすらしいな
他にも沢山同様なページ有り
とすると
>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
のウォーニングちょっと怖いね >>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 のを https://www.cisco.com/c/ja_jp/support/docs/security/asa-5500-x-series-next-generation-firewalls/70847-local-lan-pix-asa.html
これかな?Cisco AnyConnectなんて知らんからどうなのかさっぱりわからんが、192.168.1.0/24なんてのはてめー(ユーザが)除外するように設定しろという、なんか返ってクソめんどくさそうwななるほどなということ書いてあるような
Cisco AnyConnectの問題ならそういうスレがあるならそこで聞いた方がいいだろね >>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 コマンド使ってる?
直接ファイル編集してたら反映されないと思うけど。 cronジョブでcrontabを書き換える変態なことなのでどうかなと思うが、cronをフルディスクアクセスにすればいいような
https://blog.bejarano.io/fixing-cron-jobs-in-mojave/ >>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 っていろんなバージョンがあるんでしたっけ。 >>671
>OS X の tar と GNU tar の互換性
http://cbrc3.cbrc.jp/~tominaga/tips/osx_tar_linux.html アップルの独自部分は、まあ、そういう手抜きは所々ある。単なる手抜きだろうw
ググれよw
BSD tarと GNU tar の違いによるだって。ほんとかよっだが。ほんとかなあ??w
macOSのは BSD tar 。ソースが bsdtar.c だし、/usr/bin/bsdtar だった、本体は
HomeBrew で gnutar/gtar を入れるかな
そんな、BSD tarと GNU tar との違いってまだ本当かなあ??と思うので、なんか互換性持たせるオプションがあるかもね 相手がLinuxでその警告さえ嫌なら GNU tar を入れるのが無難だな
https://www.freebsd.org/cgi/man.cgi?query=tar&apropos=0&sektion=5&manpath=FreeBSD+12.1-RELEASE&arch=default&format=html
http://www.yosbits.com/opensonar/rest/man/freebsd/man/ja/man5/tar.5.html?l=ja
ガシガシ GNU tar がサポートしてないのを入れるのが標準。GNU tar の互換性の部分があるが GNU tar 独特のに対応してので、GNU tar のためにではなく、オプションでは無さげ("restricted" pax format ってあるけど違うっぽい)
多分、必要ないんじゃねいいんじゃねと思われる pax でガシガシ情報が入れられたのが無い ustar でいいんじゃないのとも思うけどねえ
tar --disable-copyfile --format ustar -cf ...
まあ「ttar っていろんなバージョンがあるんでしたっけ」ってことだから、あるって話で 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以外にも開発系コマンドはほぼ全部? 同一なのね
面白いことをしますなあ、中の人 ある時期に、コマンドも全部Xcode.appに内包するようにしたからな バイナリーを1個にまとめる意味はなんだんだろう
昔からある、サイズを減らす使う手法としてなら、こんな風に別のバイナリを呼ぶのではなく
全部のコードを含まないといけないし、かつそれが有効なのはスタティックな場合ですよね 皆さん素直に正解を教えてくれないw なので疑問と自己ツッコミが続くw
ふと思ったのは実行ファイルの自由さのためとか... ??
ライブラリに関してはダイナミックリンカーの設定・挙動でどこのどのバージョンを
使うかをランタイムでコントロール・管理できる自由度がある
一方実行ファイルに関しては環境変数とか、従来意外と地味な状況かと 能があるならお前がそんなの無視して教えればいいのに
本人かと思えるレス 答えそのものを教えてもらえるのが当然というアレな思考なんだろな
違うと教えてもらってると考えられないのがまさしく。悩まないと身につかないよw 少し調べてみました
xcrunとかxcode-selectとかここらへんのやつが小細工をしていると
大雑把に開発系コマンドのインストール場所の管理とかそんな?
でそれは選択したしたSDKのバージョンなんかにも依存する?
しかしそんなことをして各コマンド自体は改変せずともちゃんと動くんだ
特定のファイルやディレクトリの位置をビルドの設定時に決めるようなやつとかいますよね?
そういうのも含めてアップルで改変・管理してるのかな Xcodeを14にアップデートしたらxcrunがクラッシュするようになったのですが
私だけでしょうか | \
|Д`) ダレモイナイ・・オドルナラ イマノウチ
|⊂
|
♪ Å
♪ / \ ランタ タン
ヽ(´Д`;)ノ ランタ タン
( へ) ランタ ランタ
く タン
♪ Å
♪ / \ ランタ ランタ
ヽ(;´Д`)ノ ランタ タン
(へ ) ランタ タンタ
> タン #!/bin/sh
_RES=$(printf "A\nB")
_STR="A\nB"
echo "_RES「${_RES}」"
echo "_STR「${_STR}」"
if [ "${_RES}" = "${_STR}" ]; then
echo "等しい"
else
echo "等しくない"
fi
これが"等しい"にならないのは何故なんでしょう?(Monterey、zsh) >>734
printfが¥nを処理しちゃうからじゃないの? もう一方はされない
例えば1行目を _RES=$(printf "A\\\\nB") にすると built-inなechoも色々のようで
% zsh -c 'echo "A\nB"'
A
B
% bash -c 'echo "A\nB"'
A\nB あー、echoやprintfが出力時に良きに計らっちゃってるというか、その実装なりに出力して同じように見えちゃってるだけってことですかね
"A\\\\nB"だと確かに等しいですね
_STR="A\nB"
printf "_STR count=${#_STR}\n"
これも4になるので、改行になってないってことですかね。
_STR="A
B"
こうだと3になりました。
改行を含めたい場合の書き方として本当にこれで良いの…?という気もしますが
なんにしろ等しくない理由はなんとなく分かりました。ありがとうございます。 >>736
-n もだが、POSIX/XSI的には記述はあるが 実装による のようだからね
逆に、-n や文字列にバックスラッシュが含まれる echo の結果には互換性はないと記述があるくらいな >>737
>あー、echoやprintfが出力時に良きに計らっちゃってる...
そゆことだね。/bin/sh は -n は処理するが文字列中のバックスラッシュは処理しないから、同じようには見えなくなるね
バックスラッシュは、基本的にはシェルでは処理しない
_STR="A\nB"
printf "_STR count=${#_STR}\n"
は、シェルで
>_STR="A\nB"
_STRに A\nB そのまま入れるだけ
>printf "_STR count=${#_STR}\n"
${#_STR}をシェルで展開し A\nB だから 4
_STR count=4\n がprintfの引数になる、printfは _STR count=4\n を受け取ってるだけ
シェルでリテラル中のバックスラッシュを展開させたいバックスラッシュ+な特別文字(表記)を使いたいなら、実装による(まあ、bashやzshではサポートしてる) $'A\nB' という方法もある >>739
>/bin/sh は -n は処理するが
/bin/echo は -n は処理するが >>739
>バックスラッシュは、基本的にはシェルでは処理しない
シェルでバックスラッシュが意味あるのは、\n のような特殊文字表記用ではなく、 \ に続く文字をそのまま使うというだけの意味で
_STR=\n
は、単に n だけ
なんの意味があるのかというと、' や " や スペース や $ などなどシェルスクリプトでの特別意味がある文字をそのままを使いたい場合で。\nのような特別な文字を使いたい場合とは逆な
文字列に ' に使いた場合に、
_STR=It\'s\ a\ ...
' で囲んだ文字列リテラルでの場合は、
_STR='It'\''a ...'
という変態なのが定番だったりする
" で囲む場合だと、"It's a ..." という至って当たり前になるけど。また、" で囲った中で " を使う場合は \" でいいのは、" で囲った場合は中の変数展開をするのと同じで \" を ” とする(\に続く文字そのまま、囲む " とは別物の)処理をするからていうテイで
シェルスクリプトはオモロイねw C言語なんかの文字列表記と同じ感覚でバックスラッシュ使ってましたわ
>>739
>$'A\nB'
"A
B"
と書くよりはこっちの方が良さそうですねありがとうございます。 >>742
後は移植性を気にするかどうかだね。例えばLinuxだとdashがデフォの環境とかあって
いわゆるP 複数種類のshで動作確認とかしてないなら#!/bin/shではなくて
具体的にbashとかzshとか書いといたほうが後々混乱しなくて済む 将来のPOST、じゃなくてPOSIXでは $'...' も標準になるみたいですなあ
https://www.austingroupbugs.net/view.php?id=249
でdashなんかも追随していくと。でも今度はdashのバージョンで挙動がちがーう、
みたいなことで悩むのが定例 dashはPOSIX準拠の最低限の機能しかないからdashを基準に……するのは、配列がないから辛すぎるんだよなあ
拡張機能使いまくってもbashとzshの両方で動くならまあいいでしょ。macOSだと特に macOSのターミナルでsshを使うだとか、UNIXとしてのコマンドについて学ぶのにいい本ってありますか?Linux標準教科書とかいいんでしょうか。 >>752
そんなに本の選択肢がなさそうだけど、「これから学ぶmacOSターミナル」という本は?
Linuxの本でもほぼいいけど、LinuxとmacOSで少し差がある。そういう差を自分で対応
できるかどうか(適宜ググるとか)。あとmacOS固有の部分をどれぐらい知りたいかとか >>752
>sshを使う
特に違いはないだろう
>UNIXとしてのコマンドについて学ぶ
どこかがわからん。どこまで固有のオプションを使うとかね
詳解 シェルスクリプト
はどうかなあ。Amazonで試し読みしようとしたが、全然判断材料にできるとこ試し読みできないやんけw 目次はLinux標準教科書と似てる >>753
>>754
ありがとう、紹介いただいた本立ち読みしてみます 西村めぐみ著 macOS×コマンド入門
って、割と最近の2020年の本だし悪くないかも 自分だけかな、Xcodeをアップデートしたら? bcコマンドのプロンプトが ">>> "になった
地味に違和感 消せそう
-P, --no-prompt
BC_ENV_ARGS
man bcしてちょ >>758 >>759
どうも素早いお答えをありがとうございます。もしかしてVenturaにしてから初bcだったか
しかしそんなオプションまで用意するということは自分のようなユーザーからの反応を
予期していたということかw
ところで、man bcしたら、manの文章が80桁以上になってターミナル内で折り返されてしまう
これも地味にうざい。manも特殊なのかな? これとは別にmanに関して気づいたんですが、
単にmanと打つと画面にmanのソースのようなゴミが表示される しかし新しいbc、数学関数が増えたりしてるんですね
以前は確か、例えば対数は自然対数しかなくて、「違う底で計算するのは変換式を
使えば無問題だろ」的な圧を勝手に感じたものですが これはなんだろ?
/System/Library/PrivateFrameworks/Uninstall.framework/Resources/uninstalld AppStoreからインストールしたアプリはアンインストールができるから
それ用のとかじゃないのかな? 当然というかinstalldもあるけど場所とかが対称的ではないね
しかしmacOSはなんちゃらdがどんどん増えている気がする。今Venturaの上でpsで
ざっくりカウントしたら270プロセスとか? 入ってない
brew install xz
でインスコ汁 tarとかはxzに対応してるし、xz(LZMA)のライブラリもある
がxz関連のコマンドは見当たらんね。なんでだろ >>768
有難うございます
>>769
gnu tarだとしたらxzにパイプしてると思いますので
どこかにxzあると思いますよ? ああそっか
OSXのユーザランドはBSD由来だったね リモートのLinuxから使いたいのですが
X11アプリは他のUNIXと変わらんかったと思うのですが
それ以外のアプリ使うには
VNCを使うのでしょうか?
ポピュラーな方法を教えて下さい システム設定の画面共有をONにすればもうVNCでつなげる状態だよ >>774
おお! 素晴らしい
いたれりつくせりですな Macってシェルスクリプトをダブルクリックで起動できる?
ターミナル開いてタイプしないとダメかな? >>777
すみません.shとは何ですか?
シェルスクリプトをダブルクリックで起動するためには
拡張子を.commandにする必要があるという意味でしょうか?
ついでに質問ですが
仮にダブルクリックでシェルスクリプトを起動できたとして
pwdはどこになりますか? >すみません.shとは何ですか?
「Unixとして使ってる人」のスレなんだから .sh でピンとこなきゃな
「Linuxから使い」らしくわかってはいるようだけど。そゆこと
ただし、実行属性は必要だろう
Terminalで新規にウィンドウ開いて実行スクリプトファイルタイプして実行するのと動作は同じ。なのでpwdはわかったであろうwそこ(.zshrcとかで cd ~/hogehoge とか起動時のディレクトリを変えててたらそこ。そんなことしないけど)
拡張子は .command でなくても、単に実行属性付けて Terminalのドキュメント にしても(ほぼ)動作は同じ
エディタによっては保存すると自分のドキュメントに戻したりして鬱陶しいので、 .command が無難だけど >Macってシェルスクリプトをダブルクリックで起動できる?
まあ、元々Terminal上で起動実行できればいいような質問なんだろけど、
そういえば、Unixとしては別にTerminalは必要ないわなあ。Finder、GUIからのでってことで生/直接には実行できないようにしてるだけか
アプリケーションバンドル形式に仕込んだりすればば生/直接実行できるようにはなるだろけど >>782
レスを有難うございます
>>すみません.shとは何ですか?
>「Unixとして使ってる人」のスレなんだから .sh でピンとこなきゃな
>「Linuxから使い」らしくわかってはいるようだけど。そゆこと
いや本当に分かりません
.shって「.sh」をサフィックスとしたシェルスクリプトのことをおっしゃってます?
1. その推測が正しいとしてmacではダブルクリックではシェルスクリプトは起動しない
2. ただしファイル名のサフィックスを.comandとすると起動できる
で正しいでしょうか? >>782
>Terminalで新規にウィンドウ開いて実行スクリプトファイルタイプして実行するのと動作は同じ。
>なのでpwdはわかったであろうwそこ(.zshrcとかで cd ~/hogehoge とか起動時のディレクトリを変えててたらそこ。そんなことしないけど)
分かりません
/Users/hoge/Desktop に hage.command なるファイルがあって
hage.command内で cat ./mage.txt するとします
Finderで hage.command をダブルクリックして mage.txt の読み込みは成功しますか?
ちなみにWindowsの場合にはホームディレクトリがWDになるはずで失敗します
上記の例に当てはめると
$ cd /Users/hoge; /Users/hoge/Desktop/hage.command
相当を実行したことになり mage.txt は /Users/hoge にはないので失敗します
さてMacはWindowsと同じでしょうか?
あるいは例えばWDは hage.command がある/Users/hoge/Desktopになり
$ cd /Users/hoge/Desktop; /Users/hoge/Desktop/hage.command
が実行されるので mage.txt の読み込みは成功するのでしょうか? >>784,785
Linuxだって、シェルスクリプトファイルの拡張子を .sh にする(時もある)って普通にあるだろうに
デフォでファイルをアプリケーション(.app)に結び付けられる。.command はデフォではTerminal.appのドキュメントになるので、Finderでダブルクリックすると、Terminalに .commandファイルを開け と命令される。Terminal は(実行属性が付いているなら)、新しくウィンドウを開いてそこで開けと命令されたのを実行する
「手動で」新しくウィンドウを開いて実行するのと同じなんだから、pwdはどこかなんて分かるだろう。LinuxでのTerminalでどこやねん。同じだぞ。自分でどれが答えかそれで分かるだろう
Linuxからって言っていたくせになんでWinodwsやねんw まあ、アレを使ってLinuxを使ってるつもりでもあるんだろうけど
なんか(使いwとして勘が悪いくせにw)100まで細かいこと他人に聞いて確認しなきゃ気が済まなそうで、ウタウダ鬱陶しいしな。とっとと買えw
>>786
だなw >>787
有難うございます
>>>784,785
>Linuxだって、シェルスクリプトファイルの拡張子を .sh にする(時もある)って普通にあるだろうに
少なくとも私の周りでは一般的じゃないので確認しました
>デフォでファイルをアプリケーション(.app)に結び付けられる。
>.command はデフォではTerminal.appのドキュメントになるので、
>Finderでダブルクリックすると、
>Terminalに .commandファイルを開け と命令される。
なるほど完璧に理解できました
有難うございます
>Terminal は(実行属性が付いているなら)、新しくウィンドウを開いてそこで開けと命令されたのを実行する
>「手動で」新しくウィンドウを開いて実行するのと同じなんだから、pwdはどこかなんて分かるだろう。
文章内の「そこ」は>>785で言うと /Users/hoge/Desktop と理解しました
ということはWindowsではWDがホームディレクトリ(/Users/hoge相当)になりますから挙動が異なります
この理解でよろしいでしょうか?
>>787
>Linuxからって言っていたくせになんでWinodwsやねんw まあ、アレを使ってLinuxを使ってるつもりでもあるんだろうけど
>なんか(使いwとして勘が悪いくせにw)100まで細かいこと他人に聞いて確認しなきゃ気が済まなそうで、ウタウダ鬱陶しいしな。とっとと買えw
>>>786
>だなw
クロスプラットホームで動くものを作ろうとすると確認が必要なのです
しかも手元にはLinuxしかないのでw
もうちょっとお付き合い下さい
よろしくお願いします >>789
GUIで起動した場合のスクリプトのWDを問うていますので
LinuxでTerminalでスクリプトを起動してもその答えは得られません
ちなみにDolphinで起動するとスクリプトのあるパス
>>785の例で言うと /Users/hoge/Desktop がWDになります
LinuxにはFinderにあたるソフトウェアは他にもあるので
全てこの挙動になるとは限らないことに留意しておく必要があります >>791
だから調べないと分からんのですよ
MacのFinderから起動するとWDは
1. 実行ファイルのあるディレクトリですか?
2. ホームディレクトリですか?
3. その他のディレクトリでしょうか?
私はMacはおろかWindowsも手元にないので聞きに来たのです ファイラーアプリによって動作がまちまちってちゃんとわかってるじゃん
GUIから起動するようなスクリプトはpwdに依存しないように書くのが正しい、終了 >だから調べないと分からんのですよ
何を言ってるんだか。調べないとではなく、他人に頼って聞かないとだろ
他人頼りなのになんか変なプライドだけは高いやつだな
>>779 が正しかったなw
今度は 私は〜Windowsも手元にない だって。Linuxすら手元に無さそうだがw
こんな性格だったら、どうせMacを買いもしないだろうし、バイバイ >>793
シェルスクリプトを書く上では、
普通に現在のカレントディレクトリはスクリプトで指定するなり、そもそもWorking Direcotyに依存しない絶対パスで書いたりするよなあ
ただの意固地で拘ってるだけだよ、多分w >>793
> ファイラーアプリによって動作がまちまちってちゃんとわかってるじゃん
はい
だからFinderの挙動はどうなってるのかの質問になります >>795
何かをどうするとは私は書いていないと思いますので
何に私が拘っているか不明です >>793
>ファイラーアプリによって
ではなく、Terminalアプリだと思うけど(>>791の下)。単にファイラーアプリはアプリによってという例でかもしれないが
まんまファイラーアプリ=Finderとなってるww
全くわかってねーな。とっととMac買えば済む話、Mac買って自分で触らなきゃ解決しないなこれはw >>798
MacってTerminal.app以外にもxtermも動くよね? だからなに?
な?拘ってるだろw
自覚無いようだが
何に拘っているかは自分に聞いてみろ。自覚がないなら... >>798
すまんそのリンクは読んでなかった、でもそれ.desktopファイル(Windowsのショートカット相当)から起動するときの話で
ファイラーからダブルクリックして起動するのとは別じゃないかなあ >>801
Terminalアプリで自動実行する場合のWorking Directoryはどこやねんって話で、
Terminal アプリで新しいウィンドウを開いて新しいセッションの場合は、ファイラーは関係なく、あくまでもTerminal アプリがどうってのじゃないかなあ
ファイラーからTerminal アプリへはWorking Directoryに依存しない、絶対パスなんぞで目的のスクリプトファイルが渡されるだけのような
まあ、これまたスクリプトファイルのあるディレクトリをWorking Directoryにsる変なTerminalアプリがあるかもしれないけどw >>800
「何」にか書けないでしょう?
私は何にも拘っていませんから 何につけズバリと教えてもらわなければ気が済まない/わからないんだなww
まあ無自覚な方か >>802
launchdのあるMacと違ってLinuxでは起動したやつが直接の親になるだけだから(.desktop経由で起動する等特殊な例を除く)
ファイラーがターミナルを起動するときに子プロセスへのwdの継承は行われてるはず
そのときファイラーがwdをどこにしてるかと、ターミナル側が上書きするかどうかは別の話で >>805
そこかーら、新しいセッション(login shellの起動?)のためには、Terminal自身がWorking Direcorryを変えて(普通は$HOME)じゃね
なので、新しいセッションでは普通は$HOME、変なw変更できるのでは>>791のよな変なデフォかTerminalアプリの設定されたとこでTerminal自身がWorking Direcorryを変えてそれを継承してシェルが始まるんじゃないのかな なんか俺も何やってるのかわかんなくなってきたな、そもそもLinuxの動作の深堀りに意味はないよな…
>>806
Macではターミナルウィンドウ毎にlogin(1)が実行されるけど
Linuxではウィンドウシステムにログインした時点でターミナルレベルのログインも済まされてて全部同じセッションなんですわ
だからターミナルアプリか.shrcあたりが余計なことしてない限りwdはそのまま
(引用するのは癪だが>>790が書いてあるとおり) >>807
それは変なwTerminalアプリの話のようなw
>>791の最初のは違うようだけど
同じセッションの意味がちょっとわからない。新しいウィンドウでの=新しいセッション、ウィンドウ毎=セッションのつもりだった
別ウィンドウ=別プロセスのシェルのWorking Directoryを「わざわざ」Terminalが取得してでなきゃ実現しなさそうだけど >>808
あー、ログインシェルのセッションということでOSがログイン/ログアウトと認識する単位のつもりだった
login(1)で開始されてlastコマンドで履歴が見えるやつ
>>791の上のやつはターミナルのウィンドウのことをセッションと呼んでるなあ
紛らわしくてすまん
要はMacでもひとつのターミナルウィンドウの中で普通にUNIXコマンドを実行したりbashやzshを入れ子起動してもwdはそのままなのと同じで
Linuxのターミナルアプリは何ら特殊なことはなく一般コマンドと同じに過ぎないというだけ
wdはそのままなのが普通で変更するほうが「わざわざ」 >>809
了解。俺も単にかっちょいいからパクっただけだからwすまん
その「わざわざ」をしなければ、シェルが使いづらいやんと思うのだけど
シェルの起動直後だけデフォ(しつこいが$HOMEが普通)、以後、そのシェルがまたシェルを起動しても元のシェルのWorking Directoryのままってのは、セッションのためのシェルを起動するときにTerminalアプリ自身のWorking Directoryを変えて単に起動したシェルが継承してるだけというのが逆にシンプルになると思うが ぶっちゃけ大抵のターミナルアプリにも固定するような設定はあるので使い辛いと思う人もいるんだろうな
俺も最初はMacと動作が違うので戸惑ったが慣れてしまった
逆にTerminal.appだって昔は$HOME固定だったけどいつの頃かすでに開いているウィンドウがある場合は
新しいウィンドウも同じディレクトリになる設定ができるようになったし なるほどみんな有難う!
だいぶMacOSは違うようだね
hage.commandを起動するとTerminal.appが起動されるので
Terminal.appのWDってのは分かった
hoge.commandではなくてアプリケーションプログラムをFinderから起動したらどうなるのかな?
といってもMacOSのアプリケーションプログラムって単純なバイナリじゃなかったんだっけ?
例えばgccでビルドしたhello worldをFinderからダブルクリックしたらWDはどこになるの?
Terminal.appは呼ばないと思うんだけどもやっぱり$HOMEかな? もう自分で検証して報告してくれ
ワイはその都度いい感じに動くようにチェックしつつディレクトリは調整するからいちいち知らん >>817
そんな寂しいこと言わず付き合って下さい!
デスクトップにフォルダ hoge を作成し
その中に以下を hage.c として保存して下さい
#include <stdio.h>
int main (){
FILE *fp = fopen ("mage.txt", "w");
return 0;
}
以下のようにビルドして
$ gcc -o hage hage.c
出来た hage をFinderでダブルクリックして下さい
mage.txtはどこにできますか?
フォルダhogeですか? Desktopですか? $HOMEですか?
たぶん$HOMEだと予想しますが >>818
検証する必要もねぇ
ユーザーのホームディレクトリにテキストが作成される。
/の有無はグラフィカルユーザインターフェースアシスタンスで補助する簡易機能だから
0でカレントディレクトリ取得しろ
昔はBASH_SOURCEだけどもzshからは0でいい
検索できんならmanこしろ 普通のアプリのカレントディレクトリはサンドボックス、とか >>819
おお有難う
>ユーザーのホームディレクトリにテキストが作成される。
Windowsと挙動は変わらんね
>検索できんならmanこしろ
実機はまだないんだ ふと、自分のzshのPS1とかPROMPTの値が気になったのですが。
環境変数の一覧を見たいときってenvコマンド? この中にはないですね
setだと出ますね。あれ、もしかしてただの変数だっけ? export付ければenvでも出る
export付けなくてもプロンプトなzshプロセス内でなのでただの変数でもいい
.zshrcなんぞ読み込まずにzshプロセスを起動したらPS1とかPROMPTの設定が無い
てとこかな >zshプロセスを起動したら
PS1とかPROMPT設定してるzshプロセスからね
sudo -s
ってすると、rootの.zshrcなどを読もうとしてのも同じようなもん
PS1とかPROMPTが失われてデフォのになる。exportしていたら引き継がれて同じようなカスタムプロンプトになる XSI Shell Command Language
Shell Variables
Variables are initialised from the environment (as defined by the XSH specification) and can be given new values with variable assignment commands. If a variable is initialised from the environment, it is marked for export immediately; see the export special built-in. New variables can be defined and initialised with variable assignments, with the read or getopts utilities, with the name parameter in a for loop, with the ${name=word} expansion or with other mechanisms provided as implementation extensions. The following variables affect the execution of the shell:
PS1(, PS2, PS4) に限らず、元々ただの変数。同名の環境変数があればその値に初期化初期化されるってだけな POSIX
2. Shell Command Language
2.5.3 Shell Variables
Variables shall be initialized from the environment (as defined by XBD Environment Variables and the exec function in the System Interfaces volume of POSIX.1-2017) and can be given new values with variable assignment commands. If a variable is initialized from the environment, it shall be marked for export immediately; see the export special built-in. New variables can be defined and initialized with variable assignments, with the read or getopts utilities, with the name parameter in a for loop, with the ${ name= word} expansion, or with other mechanisms provided as implementation extensions.
The following variables shall affect the execution of the shell: >>822の疑問に回答をありがとうございます >>823-826 ところで、
zshで日本語のファイル名のファイルを作ると、ファイル名がUnicodeの分解形でなく
合成形になっていることがある気がするのですが、同じような現象にあったり、
なぜそうなるか/そうするかをご存知の方はいらっしゃいますでしょうか apfs自体はどちらでも記録できてどちらでもアクセス可能で
Cocoaフレームワークは分解(正確にはmodifided NFD)するけど、zshは素通しだからじゃない? あ、ちょっとわかりました、「が」というファイル(だけ)があるとき
% echo * | iconv -f utf-8 -t utf-16le | od -x -A n
304c 000a
% ls | iconv -f utf-8 -t utf-16le | od -x -A n
304b 3099 000a >>829
なるほど
ところでAPFSのファイル名の扱いってHFS+と同じと思っていんですかね
そのへんの仕様に関するドキュメントが見当たらないような気がするのですが ごめん>>829は間違い。Macのzshはワイルドカード展開でNFC正規化するらしい
だから>>830はlsが返してきてるほうがディスクに記録されてる形式だと思う
HFS+はファイルシステム側がファイル名をmodified NFD変換して保存する、apfsはしない
どちらもアクセス自体はどの形式でもできる、だったはず
ぐぐったらFAQがあった
ttps://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/APFS_Guide/FAQ/FAQ.html >>832
APFSはシェルから触ったら何もしないのかな? そういえば示申問題ってありましたよね
シェルでやればこんなことも(あ、5chのUnicode処理がわからないけど):
% ls
神 神︀ 神󠄀
見た目で区別が付かない(注: 環境による)。種明かしをすると
% ls -C | gsed -r 's/\s+//g' | iconv -f utf-8 -t utf-16le | od -x -A n
fa19 795e fe00 795e db40 dd00 000a
ちなみにデフォのsedの正規表現サポートに耐えられずGNU sedを使っています
一方Finderで示神(U+FA19)を作ろうとすると神にされてしまう。こっちは素のNFDですか? >>832
>ごめん>>829は間違い。Macのzshはワイルドカード展開でNFC正規化するらしい
結局これって何のためなんですかね。コマンドラインでファイル名を扱うときの
「文字幅」問題を何とかしようとか?
しかし上でやったようにls等からファイル名を受け取とる場合もあるしなあ scutilというのがありますよね
「コンピュータの名前」に関して HostName, LocalHostName, ComputerName と
複数あるようですが、これらの関係・違いってなんですかね ComputerName: MacOSのFinderなどの表示で通常使われる名前
LocalHostName: Bonjourで使われる名前
HostName: UnixとしてのPosix系システムAPIで使われる名前 デフォルトではHostNameが空でLocalHostNameをHostNameとして使ってるように見える
Bonjour名は(LocalHostName).localになる
Montereyまではシステム環境設定の共有名を変えると
ComputerNameとLocalHostNameが同時に変更されたけど
Ventura以降はLocalHostNameしか変わらなくなって
ComputerNameを変えるには一般→情報→コンピュータ名を変えるというスタイルになった >>836 >>837
なるほど、わかりやすい解説をありがとうございます Emacsの入れ方は何パターンかあるようですが、皆さんどうされてますか?
なんとなく、Emacs Mac Port版というのをhomebrewで入れてみたんですが、
ターミナルでemacsと入れてGUIのウインドウが立ち上がった後も、キー入力の
フォーカスがターミナルに残ってしまい、困っています。 自分でビルドしてるよ
armとのuniversal版を作ってる
最近はgnutlsも必要だから
.appパッケージ内に全部納めるのかなり面倒 おお素晴らしい
自分も大昔はビルドとかしたんですけど、その頃はMach-Oのアンダンプが上手くいかな
かったりして、手直ししたりして。今はもう楽な方に流されたい一方 MacPortsを使っているので、emacs-mac-appをインストールしています
sudo port install emacs-mac-app
するだけ こんなのが
https://github.com/railwaycat/homebrew-emacsmacport/issues/359
When I launch it from the terminal with emacs it launches just fine but any text I write is instead written in the terminal. おっとレスが遅くなってしまった
>>843 まさにそれですね
というわけで自分でビルドを、と言ってもこの方のパッチを使わせてもらっただけ
https://github.com/takaxp/ns-inline-patch
elispとかの場所に関して、上記のは.app内にある感じですね。コマンドラインから
起動すると実行ファイル相対で場所を探す? 変なsymlinkとかしちゃいけなそう ターミナルでプロセスを見たらsoftwareupdatedというのが暴走している感じ
なのでsudo killしようとしたらOperation not permittedとなってしまいます。
何か設定が足りないのでしょうか。 やること終わったら静まるんじゃないのsoftwareupdated
動くのが嫌ならシステム環境設定で自動アップデートとか止めといた方がいいんちゃう、今後に向けて /home/ユーザー名 みたいなディレクトリを用意したいのだけど、rootでも
作れないですね
今ってセキュリティーの関係で勝手な場所にディレクトリを作ったりはできないん
でしたっけ。あ、Sonomaです >>849
なるほど。早速情報をありがとうございます。Linuxと場所を揃えたりしたかった
んですよね
macOSのファイルシステムは変わってますよね。そういえば、アプリケーション
なんかは、OS付属のアプリと自分で入れたアプリを重ねて表示してる感じですが、
(OS付属のアプリはread-onlyなどこかにあるようなので)、
あれはもしかしてああいうファイルシステムなのか単にFinderの機能なのか