私の輝くサーバーはどこにありますか?

私の輝くサーバーはどこにありますか?
  1. 私はLinuxに初めて触れました。
  2. Ubuntu WSLを使用して、Windowsコンピュータにローカルに輝くサーバーを展開しようとしています。
  3. Windowsコンピュータにubuntu WSLを正常にインストールし、ubuntuを起動できます。
  • これまで私はここに来ました:

tarjae@DESKTOP-LNI8ONS:~$

  • 入力すると、dir次のような結果が表示されます。
R       rstudio-server-latest-amd64.deb    shiny-server-1.5.17.973-amd64.deb.1
app1.R  shiny-server-1.5.17.973-amd64.deb

これから起こるすべてのことは、私がどのチュートリアルを行っているかに応じて私にランダムに起こります!

だから私の質問は次のようになります

  1. 私がrootであるか一般ユーザーであるかをどうやって確認しますか? (基本管理Linuxコマンドのソース)?
  2. 私の輝くサーバーはどこにありますか?
  3. 機能していないサーバーを起動するにはどうすればよいですか?sudo start shiny-server->
tarjae@DESKTOP-LNI8ONS:~$ sudo start shiny-server
[sudo] password for tarjae:
sudo: start: command not found
  1. 結局どうやって始めますか?app1.R

これらすべてが賃金であることを知っています。しかし、私は私の目的に向かって次のステップに進むことを願っています。どんな指針提案でも高く評価します。

アップデート1:

dpkg-query -l shinyプログラム

dpkg-query: no packages found matching shiny

  • これにより、sudo apt install ./shiny-server-1.5.17.973-amd64.deb以下が表示されます。
Note, selecting 'shiny-server' instead of './shiny-server-1.5.17.973-amd64.deb'
shiny-server is already the newest version (1.5.17.973).
0 upgraded, 0 newly installed, 0 to remove and 12 not upgraded. 

アップデート2:

そして

tarjae@DESKTOP-LNI8ONS:~$ dpkg-query -l | grep shiny

私は得る:

ii  shiny-server                   1.5.17.973                            amd64        Shiny Server
  • それから
tarjae@DESKTOP-LNI8ONS:~$ systemctl start shiny-server

私は得る:

tarjae@DESKTOP-LNI8ONS:~$ systemctl start shiny-server
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

アップデート3:

tarjae@DESKTOP-LNI8ONS:/home/shiny$ sudo service shiny-server start

私は得る:

tarjae@DESKTOP-LNI8ONS:/home/shiny$

何もしません。過去数日間、私は新しいユーザーを作成することになっているブログを読んで、それをやりました。時間を無駄にしてすみません!

私がするなら:

tarjae@DESKTOP-LNI8ONS:~$ service shiny-server status
#OR
tarjae@DESKTOP-LNI8ONS:~$ sudo service shiny-server status
# I get:
tarjae@DESKTOP-LNI8ONS:~$ 

ベストアンサー1

Dropletsで利用できるというニュースを聞いて嬉しいです。 WSL2 / Ubuntuで直接試しましたが、間違いなくいくつかの問題がありました。

正直言って、あなたがLinuxに初めて触れたことを考えると、競争がどこに向かっているのかを分析するのにかなり素晴らしい成果が出ました。あなたは正確に正しい順序で正しいことを試しました。ここで説明できます。なぜ彼らはうまくいかず、どのように機能するかを知りたいです。

「アップデート2」の場合:
systemctl start shiny-server

はい、これが開始する「一般的な」方法ですが、systemctlSystemdが必要であり、いくつかのハッキング回避策がなければ、WSL2では動作しません。 Systemdは今日のほとんどのLinuxディストリビューションの初期化メカニズムですが、WSLには/initWindowsとの緊密な統合を確立するための独自のメカニズムが必要です(参照:この回答/init詳細とこれWSL2のSystemdの詳細)

「アップデート3」の場合:
sudo start shiny-server

繰り返しますが、あなたは絶対に正しいです。多くのアプリケーションやディストリビューションでは、Systemdよりも古いSysVInitシステム用の「レガシー」初期化スクリプトがまだ提供されています。そのスクリプト〜する通常、このコマンドはWSL2(またはWSL1)で実行するために使用されますservice

しかし、これらの初期化スクリプトは、長期間メンテナンスまたはテストされていないことが多い。この場合、初期化スクリプトにエラーを引き起こす明らかなバグがあります。このバグは、「通常」(WSLではなく)Ubuntuで実行されるのを防ぎます。

スクリプトの2行は起動前に失敗します。

DAEMON=shiny-server
[ -x "$DAEMON" ] || exit 0

これは、デフォルトでは、「 'shiny-server'ファイルが存在し、実行権限がありますか?それ以外の場合はスクリプトを終了してください。」という意味です。

残念ながら提供しません到着するshiny-server。最初の行を次に変更します。

DAEMON=/opt/shiny-server/bin/shiny-server

...少なくとも、次のような場合に機能しますservice shiny-server start

$ pgrep -x shiny-server
$ sudo service shiny-server start
$ pgrep -x shiny-server
7184

つまり、それ以上の問題があるようで、サービスを再起動しても失敗し、statusどちらもサポートされません。

serviceそして両方とも一種のsystemctl「便利な」方法であることに注意してください。特にshiny

/etc/init.d/shiny-serverこれらのファイルが何をしているのかを見たり見ることができますが、/opt/shiny-server/config/systemd/shiny-server.serviceLinuxの経験があると、間違いなく簡単になります。

少なくとも動作します。実際には、その機能がその時点で機能していることを確認しようとはしませんでしたが、しかし、他の問題が発生した場合は、WSL2で問題を解決できると確信しています。どこを見なければならないのかを知ることは「ただ」問題です。

おすすめ記事