web-dev-qa-db-ja.com

Lubuntu 12.04の起動時に.shファイルを作成するにはどうすればよいですか?

Samsung N145ネットブックでlubuntuデスクトップを実行します。

/etc/xdg/lxsession/Lubuntu/autostartに到達し、次の行を追加しました

@home/magpie/touchpad_settings.sh

私のファイルの名前はtouchpad_settings.shであり、クリックして実行すると実行され、動作します。

つまり、ログインできずパネルを取得できなくなったため、USBブータでそれを元に戻し、誰かが明確にできるかどうか確認するためにここに来ました。

Lubuntuはスタートアップマネージャーを使用せず、これは自家製のファイルなので、デスクトップセッション設定にも含まれません。

以下の回答で示唆されているように、私は試しました

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/bin/sh /home/magpie/touchpad_settings.sh
exit 0

私も行を試しました:

/bin/bash /home/magpie/touchpad_settings.sh

そして

sh /home/magpie/touchpad_settings.sh

うまくいきませんでした。

3
Magpie

ファイルマネージャで、/usr/share/applicationsに移動します。ルートアクセスで開く([ツール]-> [現在のフォルダーをルートとして開く])

Open as root

ルートアクセスファイルマネージャーウィンドウで、新しいファイルを作成します([ファイル]-> [新規作成]-> [空のファイル])

blank file

新しいファイルにtouchpad.desktopという名前を付けます。

file name

新しく作成したファイルを見つけて右クリックし、リーフパッドで編集します。

enter image description here

リーフパッドで、次を貼り付けます。

[Desktop Entry]
Name=Touchpad Autostart
Exec=/home/magpie/touchpad_settings.sh
Type=Application
Terminal=false

それを保存。保存できない場合は、rootアクセス権のあるウィンドウにはありません。もう一度やり直して、指示に本当に注意深く従ってください。

繰り返しますが、ルートアクセスファイルマネージャウィンドウでファイルを見つけます。右クリックしてコピーします。

Copy

次に、ルートウィンドウを自動起動フォルダーに移動します。

/etc/xdg/autostart/

最後に、前に作成したデスクトップファイルに貼り付けます。

Autostart File

すべてを正しく行った場合、他の多くの自動起動ファイルが表示されますが、「タッチパッド自動起動」ファイルも表示されます。

It's there...

これは最速の方法ではありませんが、他の回答の多くのステップに苦労しているようでしたので、私は多くの詳細でそれを遅くしたかったです。再起動後もスクリプトがまだ実行されていない場合(単にログアウトして再度ログインしないでください)、スクリプトに問題があります。たぶんダブルチェック?

6
algebralives

エディターで/etc/rc.localをルート権限で開き、起動時に実行するコマンドをそのファイルのexit 0行の前に追加します。

あなたの場合は

sh home/magpie/myfile.sh
4
Sarowar

いくつかの方法があります。 this page および this one でこれらの指示に従い、.configフォルダーに移動するautostartというフォルダーを作成してから、.desktopエントリーを作成するのが最も簡単かもしれませんテキストエディタで自動起動フォルダに保存します。デスクトップエントリには次の行が必要です。

  [Desktop Entry]
  Name=script.sh
  Exec=/home/mike/script.sh
  Type=Application
  Terminal=false

別の方法は、rc.localファイルを使用することです。

通常、スクリプトの完全なパスをrc.local/etc/rc.localファイルに追加します。 rc.localは、他のすべてが起動した後にのみ実行され、まだ実行されていない場合は実行可能にする必要があります(Sudo chmod +x)。 (スクリプトはrootが所有しているため、sudoが必要です。そのため、一部のユーザーはrootがユーザーのスクリプトを開始するためのセキュリティ上の問題と見なしますが、ホームデスクトップユーザーの場合はrc.localメソッドを使用するのが妥当です。 )

ただし、必ずexit 0をrc.localスクリプトの最後の行のままにしてください。たとえば、私のrc.localファイルには、スクリプトと他の2つのコマンドの場所が含まれています。スクリプトが/bin/shまたは/bin/bashで実行されていることを確認したい場合は、パスの前にそれを置きます。例えば/bin/bash /home/mike/script

最後に、Sudo vi /etc/rc.localまたはgksudo gedit /etc/rc.localを使用してファイルを編集します。

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing
# my script here
/bin/bash /home/mike/bin/script
exit 0
1
user76204

LXDE環境に自動起動プログラムを追加してきた最も簡単な方法を次に示します。

  1. 'the.sh'を作成して目的のプログラムを実行し、/home/user/.config/autostart/the.shに保存します(実行可能にすることを忘れないでください)
  2. /home/user/.config/lxsession/LXDE/autostartファイルに@sh /home/user/.config/autostart/the.sh行を追加し、コンピューターを再起動します。それでおしまい。

NB!一部のプログラムは起動時に遅延する必要があるため、例として「conky.sh」は

#!/bin/sh

sleep 3
conky

-多分、 'touchpad_settings.sh'を自動起動しようとした最初の方法は、.shファイルの遅延だけが必要です。

1
digerydoo

/etc/xdg/lxsession/Lubuntu/autostartで間違ったパスを使用しました:
行内:

@home/magpie/touchpad_settings.sh 

@は削除され、残りはシェルコマンドとして実行されます。

相対パスを使用します。

home/magpie/touchpad_settings.sh 

したがって、現在の作業ディレクトリが/home/magpieである場合、それが実行するスクリプトは/home/magpie/home/magpie/touchpad_settings.shです

/を追加して修正し、スクリプトに実行権限があることを確認します。

@/home/magpie/touchpad_settings.sh

@は、終了すると再起動されることを意味します。)

0
Volker Siegel