私はDebian 6とDropboxを使用しています。インストールするには これらのコマンド に従いました。
~/.dropbox-dist/dropboxd
を実行すると、Dropboxが動作します。問題は、ターミナルを閉じるか、さらに悪いことに再起動すると、Dropboxが機能しなくなり、そのデーモンを再度実行する必要があることです。
コンピュータがそのデーモンをバックグラウンドで自動的に起動するようにするにはどうすればよいですか?
この方法でコマンドを実行します。
($HOME/.dropbox-dist/dropboxd &)&
これにより、プロセスが実際のターミナルから切り離され、実際のバックグラウンドに置かれます。
ただし、再起動後も手動で起動する必要があります。
これが私の解決策です。これはDebian 8にあります。
標準の指示に従ってDropboxをインストールします。これまでのところ、私は1人のユーザーしか接続していません。dropboxがlinuxのユーザーアカウントではなくマシンを登録しているように見えるため、これが複数のユーザーで機能するかどうかはわかりません。 1つのサーバーで複数のユーザーアカウントを機能させる方法がわかっている場合は、お知らせください。
https://www.dropbox.com/en_GB/install?os=lnx
次にpython制御スクリプト 手順 をインストールしますが、ホームディレクトリのbinではなく/ usr/binに配置します。
ファイル/lib/systemd/system/[email protected]を作成します。
[Unit]
Description=Dropbox as a system service user %i
[Service]
Type=forking
ExecStart=/usr/bin/dropbox start
ExecStop=/usr/bin/dropbox stop
User=%i
Group=%i
# 'LANG' might be unnecessary, since systemd already sets the
# locale for all services according to "/etc/locale.conf".
# Run `systemctl show-environment` to make sure.
Environment=LANG=en_US.utf-8
[Install]
WantedBy=multi-user.target
ユーザーfredのサービスを有効にします。
$ Sudo systemctl enable [email protected]
次に、サービスを開始します。
$ Sudo systemctl start [email protected]
daemon $HOME/.dropbox-dist/dropboxd
を実行して、デーモンとして実行することもできます。
これには、-n/--name
フラグを追加で渡す場合、daemon --[running|restart|stop] -n <name>
を使用してプロセスを制御できるという利点があります。
おそらく、他の誰かが、起動時にdaemon
を使用してデーモンを開始するのに最適な方法にチップを入れることができます...
ここを見てください:
https://community.spiceworks.com/topic/131973-dropbox-headless-workstation?page=1#entry-6076539
言及されたユーザー:
ちょうど私が言及したいと思った:
(a)最新のディストリビューションでは、これはかなり単純明快です。コマンドラインから
dropbox start
を実行するだけですが、(b)X11を転送した状態でのログインとログアウトに注意してください。さまざまなマシンに接続するために多くのBashエイリアスを設定しましたが、それらにはすべてX11パケットを転送するための
-X
オプションが含まれています。このため、Dropboxはscreen
の下でNohup
を使用して実行しても、ログアウト時に自分で死にます。どうやら、X11を転送すると、Dropboxがリモートマシンではなくローカルマシンのdbusプロセスに接続するようになりました。そのため、私が接続を切断すると、Dropboxはdbusが終了したと見なし、それ自体を終了していました。ちなみに、これは私を少し困らせたので。キーは私が押さなければならなかったことでした Ctrl-C リモートマシンでログアウト/実行
exit
した後でも。どうやら、Bashを終了した後でも、開いている接続が残っているため、SSHはセッションを開いたままにしていました。
何らかの理由で-X
を使用してssh-ingを継続したい場合でも、ソリューションは簡単です。Dropboxを起動する前に、転送を「中断」する必要があります。たとえば、次のようにします。
$ unset DISPLAY
これがBashスクリプトで行われる場合、転送はスクリプトの内部で「壊れて」いますが、これが実行されても、「ターミナル」はまだ転送しています。
これが、Upstart 1.4以降を使用したLinuxディストリビューション用の私のソリューションです。
以下の内容を/etc/init
の下の構成ファイルに保存します。例:/etc/init/db_user.conf
:
# Dropbox upstart script for user db_user, db_user can be replaced by anything you like.
description "Dropbox db_user"
author "myth384"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
setuid db_user
# The next two lines are optional. I use these to be able to share the
# Dropbox using Samba. Within group shareusers are all Samba users.
# setgid shareusers
# umask 0002
# The next line is necessary to be able to synchronise files with non-ASCII characters.
env LANG="en_US.UTF-8"
exec /home/db_user/.dropbox-dist/dropbox
再起動せずにデーモンを起動するには:
Sudo start db_user
注:インターネット上の他のソースで示されているように、setgid行のコメントを外すことで、.dropbox.cache
フォルダにsetgidフラグを設定する必要はありません。
DebianおよびUbuntu init.dスクリプト を見つけることができます。/etc/init.d/dropboxにコピーして、ユーザー名でカスタマイズします。
chkconfig --add dropbox
を使用してdebianで有効にします。次に、他のサービスと同じように実行します。
screen
を使用できます:
screen -dmS ~/.dropbox-dist/dropboxd
これにより、デーモンとしてデタッチモードで起動します。
次に、独自のinit.dスクリプトを作成してこの方法でサービスとして実行し、#!/bin/bash
の後にchkconfig
の行を追加して、2、3などの必要な実行レベルを追加する必要があります。 4、5。ディストリビューションごとに実行レベルが異なるため、これを確認する必要があります。
これをinit.d
の説明 ここ に追加するかなり良い方法があります。 Dropboxを起動するユーザーをinitスクリプトに追加する必要があります(簡単な方法)。システムが起動すると、ユーザーごとにDropboxデーモンが起動します。
注意すべき唯一のことは、彼らがDAEMON=.dropbox-dist/dropbox
を指定しているということです。作成者は最後にd
を忘れました— DAEMON=.dropbox-dist/dropboxd
である必要があります。
.profileファイルの最後に次の行を追加しました。私はターミナルでコンピューターを起動することを好みます。しかし、この後にX11を起動すると、システムトレイにドロップボックスアプレットが表示されません。
dropbox running
rv=$?
if [ $rv -eq 0 ]; then
dropbox start;
fi
このサイトには、CLIのダウンロードとインストール、Dropboxの外部へのソフトリンクの作成、Dropboxのデーモンとしての実行など、LinuxにDropboxをインストールして構成する方法に関する完全な情報があるようです。後者は、dropboxd
をservice
およびchkconfig
で制御できるようにするinit.dスクリプトを提供します。
http://www.dropboxwiki.com/tips-and-tricks/install-dropbox-centos-gui-required
dropboxが提供するスクリプトをダウンロード https://www.dropbox.com/download?dl=packages/dropbox.py を実行します
python dropbox.py start
pythonがない場合、これを実行するにはpyhonが必要になります