

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](https://qiita.com/leo-
mon/items/f388279424cddfc24357)

上記ページを参考に、[Kaggle Python (Dockerイメージ) の
Dockerfile](https://github.com/Kaggle/docker-
python/blob/master/gpu.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する前に空のファイルを作らなければならないということでしょうか？

[code]

    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
    
[/code]

**再補足**  
rootユーザーにして`./build --gpu`してみましたが、  
やはりmkdirのところで-pオプションをつけないとエラー、つけるとエラーは出ませんがディレクトリが生成されないというのは変わらないようです。  
`# 深い意味はなく他ユーザーを作成するが省略可能`、のところ

[code]

    USER root
    
    RUN groupadd student && useradd -m -g student student
    RUN mkdir /home/student/notebooks
    RUN chown -R student:student /home  # プラグインインストールには/home/jovyan以下への権限が必要
    
[/code]

もDockerfileに記述しましたが変わらずという感じです。


CC BY-SA 4.0
2020-11-11T17:03:04.867
71879
2020-11-18T16:56:52.537
2020-11-18T16:28:32.003
3060
12457
question
python docker wsl jupyter-lab
JupyterLabのダークモード化をコマンドで行いたい


Docker イメージに載せるところまでは詳しくわからないので部分回答になります。

* * *

[JupyterLab
のドキュメント](https://jupyterlab.readthedocs.io/en/stable/developer/extension_dev.html?highlight=dark#extension-
settings) を見ると、ダークモードを有効にしたい場合は以下の内容を `overrides.json` というファイルに記述し、`<sys-
prefix>/share/jupyter/lab/settings/` ディレクトリの下に置けばよいとあります。

[code]

    {
      "@jupyterlab/apputils-extension:themes": {
        "theme": "JupyterLab Dark"
      }
    }
    
[/code]

なお、`<sys-prefix>` についてはコマンドで `jupyter lab path` を実行すれば確認できるようです。

**参考:**  
[JupyterLab User Settings File - Stack
Overflow](https://stackoverflow.com/a/58843537) の回答


CC BY-SA 4.0
2020-11-18T16:56:52.537
72041
2020-11-18T16:56:52.537
3060
71879
answer