- 私はLinuxに初めて触れました。
- Ubuntu WSLを使用して、Windowsコンピュータにローカルに輝くサーバーを展開しようとしています。
- 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
これから起こるすべてのことは、私がどのチュートリアルを行っているかに応じて私にランダムに起こります!
だから私の質問は次のようになります
- 私がrootであるか一般ユーザーであるかをどうやって確認しますか? (基本管理Linuxコマンドのソース)?
- 私の輝くサーバーはどこにありますか?
- 機能していないサーバーを起動するにはどうすればよいですか?
sudo start shiny-server
->
tarjae@DESKTOP-LNI8ONS:~$ sudo start shiny-server
[sudo] password for tarjae:
sudo: start: command not found
- 結局どうやって始めますか?
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
はい、これが開始する「一般的な」方法ですが、systemctl
Systemdが必要であり、いくつかのハッキング回避策がなければ、WSL2では動作しません。 Systemdは今日のほとんどのLinuxディストリビューションの初期化メカニズムですが、WSLには/init
Windowsとの緊密な統合を確立するための独自のメカニズムが必要です(参照:この回答の/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.service
Linuxの経験があると、間違いなく簡単になります。
少なくとも動作します。実際には、その機能がその時点で機能していることを確認しようとはしませんでしたが、しかし、他の問題が発生した場合は、WSL2で問題を解決できると確信しています。どこを見なければならないのかを知ることは「ただ」問題です。