質問: Win10のWSL2上で、Dockerを用いてJupyterLabを使いたいと考えています。 このとき、コンテナを起動するごとにマウス操作で毎回ダークモードにするのは避けたいと考えています。 そのため、Jupyter notebookをダークモードにするのと同様に `jt -t onedork -fs 95 -altp -tfs 11 -nfs 115 -cellw 88% -T` してから `jupyter lab` として起動しましたがダークモードになりませんでした。 マウスを用いてダークモード化することはできました。 コマンドでダークモードにすることは可能なのでしょうか? よろしくお願いいたします。 **追記** 黒背景でvimキーバインドなJupyterLabを起動するDockerイメージ - Qiita 上記ページを参考に、Kaggle Python (Dockerイメージ) の Dockerfile 内にコマンドを追記しましたが、うまく行かなかった(内容は下記の補足参照)ので マウントするフォルダ内の.jupyterフォルダにhemes.jupyterlab-settingsファイルを作り、{"theme":"JupyterLab Dark"}と記述しましたが、起動時にダークモードになりませんでした。 設定が反映されていないようですが、どうすれば反映されるでしょうか。 **再追記** Dockerfileからechoで{"theme":"JupyterLab Dark"}を書くパターンも試しましたが、やはりこちらも変わりませんでした。 `/tmp/working/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/themes.jupyterlab-settings` というフォルダ構成です。 **補足** 上記のリンクをそのままDockerfile内に貼り付けると、以下のようになりうまく行っていないようです。 mkdirは特に何も出ていないのでうまく行っていると見てよいのでしょうか。 themes.jupyterlab-settingsはechoする前に空のファイルを作らなければならないということでしょうか? ``` Step 40/42 : RUN mkdir -p /home/jovyan/.jupyter/lab/user-settings/@jupyterlab/apputils-extension ---> Running in 24cc635c44ee Removing intermediate container 24cc635c44ee ---> ba8a1b1e09a3 Step 41/42 : RUN echo '{"theme":"JupyterLab Dark"}' > /home/jovyan/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/themes.jupyterlab-settings ---> Running in 099d05db7ca3 /bin/sh: 1: cannot create /home/jovyan/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/themes.jupyterlab-settings: Directory nonexistent The command '/bin/sh -c echo '{"theme":"JupyterLab Dark"}' > /home/jovyan/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/themes.jupyterlab-settings' returned a non-zero code: 2 ``` **再補足** rootユーザーにして`./build --gpu`してみましたが、 やはりmkdirのところで-pオプションをつけないとエラー、つけるとエラーは出ませんがディレクトリが生成されないというのは変わらないようです。 `# 深い意味はなく他ユーザーを作成するが省略可能`、のところ ``` USER root RUN groupadd student && useradd -m -g student student RUN mkdir /home/student/notebooks RUN chown -R student:student /home # プラグインインストールには/home/jovyan以下への権限が必要 ``` もDockerfileに記述しましたが変わらずという感じです。
回答: Docker イメージに載せるところまでは詳しくわからないので部分回答になります。 JupyterLab のドキュメント を見ると、ダークモードを有効にしたい場合は以下の内容を `overrides.json` というファイルに記述し、`/share/jupyter/lab/settings/` ディレクトリの下に置けばよいとあります。 ``` { "@jupyterlab/apputils-extension:themes": { "theme": "JupyterLab Dark" } } ``` なお、`` についてはコマンドで `jupyter lab path` を実行すれば確認できるようです。 **参考:** JupyterLab User Settings File - Stack Overflow の回答