
Ubuntu日本語フォーラム

ログインしていません。
お世話になってます。すみません、ちと謎なので分かる方お願いします。
binフォルダーのファイルって起動時に自動実行されるとか、何かあるんでしょうか?
/home/ユーザー名/bin
に nautilus という名前のファイル(中身はカラ)を置いただけでデスクトップにあったファイルが表示されません。
実は
https://forums.ubuntulinux.jp/viewtopic.php?id=6388
を参考に nautilusをすぐに開けないかと
中身が
-----------------
xterm -e "
nautilus
"
-----------------
でファイル名がnautilusのファイルを /home/ユーザー名/bin に置いたのがきっかけなんですが、、、
これを実行したらxtermの窓がいくつも開いてクラッシュ寸前(汗 再起動したら実行してないのにログイン時に同じ現象が
nautilus は最初homeを表示しますが表示しただけで、そのなかのbinフォルダーのファイルを実行する?
failsafeでログインしてファイルを移動したので今は問題ありませんが、今後気をつけなければなりませんので仕組みが気になります。
オフライン
ちょっとズレますが、gnomeには起動時の状態を記憶しておくオプションがあったように思います。
これで次回起動時に前回の状態が再現されると思うのですが、これじゃダメですかね。
前回nautilusを開いたまま終了させれば、次回同じ状態でnautilusも開いた状態になっているはず。
# タイトル変更は管理者にお願いしてください。
オフライン
yama による投稿:
ちょっとズレますが、gnomeには起動時の状態を記憶しておくオプションがあったように思います。
これで次回起動時に前回の状態が再現されると思うのですが、これじゃダメですかね。
前回nautilusを開いたまま終了させれば、次回同じ状態でnautilusも開いた状態になっているはず。
# タイトル変更は管理者にお願いしてください。
先日はどうもありがとうございました。
たしかセッションマネージャーか、「起動中のアプリを記憶しておく」で出きるのかもしれませんね。
で、私勘違いしてました。sudo nautilusをすぐにやりたいと思ったのです。これなら、セッション記憶しても起動する度にパスワード聞かれるかも知れませんね(笑)
ワンクリや自動起動にする意味があんまりないかもしれません(笑)
むしろ、ファイル名がnautilusのファイルを/home/ユーザー名/binに置いただけで挙動が変わったのが不思議で、、、
はい、管理人さんにお願いしてみます。ありがとうございます。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
kiyoshiさん毎度ありがとうございます。なんか別のところでお忙しそうで(笑)
kiyoshi による投稿:
nautilusという名前が自分自身なので、自分自身(/home/ユーザー名/bin/nautilus)を無限ループで呼び出してしまったのではないでしょうか?
つまり
/home/ユーザー名/bin/nautilusを実行→nautilusが実行されるが、それは/home/ユーザー名/bin/nautilus→・・・
再起動してもダメだったことについては、
nautilusはGnomeのデスクトップを起動するときに呼び出されるのかもしれません。それが、おかしくなってしまったのかもしれませんね。
異常に発生して、終了できなくなったら、
端末で
$ ps auwx
でPIDを調べ、
$ sudo kill
とかしてやると良いかもしれません。また、nautilusのリンクが/home/ユーザー名/bin/nautilusに変更されていたり・・・ないでしょうね。
詳しくないので、後は識者の方に。
なるほど~ 考えてみりゃそうですよね(汗
再起動後の問題ですが、今のところ大丈夫ですが念のため調べてみます。
むしろ問題ないほうが謎ですが>ファイル名がnautilusのファイルを置くだけで表示が変わった件。
オフライン
大丈夫そうです。
nautilusはホーム/ユーザー名 が開き sudo nautilusでroot開きます。
いろいろありがとうございます。
オフライン
Hideki999 による投稿:
はい、管理人さんにお願いしてみます。ありがとうございます。
要望して頂いたのとはちと違いますが、検索上適切そうなものに補正させて頂きました。ご了承ください。
オフライン
hito による投稿:
要望して頂いたのとはちと違いますが、検索上適切そうなものに補正させて頂きました。ご了承ください。
了解いたしました。早急な対応ありがとうございます。
オフライン
やはり9.04でも9.10でも
/home/ユーザー名/bin/ に nautilus という名前のファイルを置いて実行権をつけると挙動がおかしくなるようです。
https://forums.ubuntulinux.jp/viewtopic.php?pid=44352#p44352
の
HiroKws による投稿:
Nautilusでも、ファイルの種類によって起動するプログラムを選択できるのですが、実行権のあるテキストファイルは別格として扱われているらしく、、、、
も関係するかもしれないと勝手に考えてます。
不思議です
オフライン
とりあえず、既存のコマンド名と同名で、pathよって定義されているところに実行可能なコマンドをおいてはいけません。それが、よく使うようなコマンド名でも、システム内部からしか呼び出されないようなコマンド名でも です。
# ファイルをおいて実行権をつける=実行可能なコマンドを作成する。MS-Windowsでいうと、exeファイルを作るのと同じです(拡張子が無いので、システムのexeと、手軽に作れるbat/cmdが拡張子で区別される・・・ということもない)
たとえば、「ls」という名前の適当に作ったコマンドが、pathの設定によって/bin/lsよりも先に発見される環境 というのを想像すると、どの程度大変なのかがわかるかと思います。
未確認ですが、今回の挙動も内部コマンドとして利用されているコマンド名と重なっているのではないでしょうか?
whereisもしくはwhichで確認できるような気がします。
# たしか、最初に見つかった1つだけ表示(実行されるはずのもの)するものと、全て列挙してくれるコマンドがあったような。
オフライン
weyk による投稿:
たとえば、「ls」という名前の適当に作ったコマンドが、pathの設定によって/bin/lsよりも先に発見される環境
そんな事が起きるのですね。
今、which でやってみたら /home/ユーザー名/bin/nautilus が/usr/bin/nautilus より先に発見されました。
ファイル名自体がコマンドのように働く?ような気がしてます。
nautilusはwinのexplorer.exeみたいな物 との話をどこかで見ました。
ファイル名自体がコマンドのように働く(かも?)を考え合わせるとファイル名の付け方と置き場所には気をつけないといけませんね。
weykさん ありがとうございます。
linuxを熟知してない場合、毎回、既存コマンドを調べてられないので、実行権をつける場合、よほどユニークなファイル名以外はbinには置かない方がイイのかな、、、、
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
Hideki999 による投稿:
linuxを熟知してない場合、毎回、既存コマンドを調べてられないので、実行権をつける場合、よほどユニークなファイル名以外はbinには置かない方がイイのかな、、、、
設置する前に、「which 置こうとするファイル名」を実行して、衝突が起きないかチェックしてみてください。
置いてからの場合はwhereでパスが列挙できます。
個人的には、~/bin に置くのはかなりの非常事態に限定しておいて、~/tools とかに置いて、実行時にはフルパス、というのが妥当かなと思います。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
hito による投稿:
設置する前に、「which 置こうとするファイル名」を実行して、衝突が起きないかチェックしてみてください。
置いてからの場合はwhereでパスが列挙できます。
個人的には、~/bin に置くのはかなりの非常事態に限定しておいて、~/tools とかに置いて、実行時にはフルパス、というのが妥当かなと思います。
hitoさん、お返事ありがとうございます。
わかりました。気をつけます。基本的にはbinに置かない。置く場合はかなり慎重にしようと思います。
ありがとうございました。
kiyoshiさん、plopのトピにコメします、全然関係ないかもしれないですが、参考までに
オフライン