smashing

# 考えたら、以前トライしたsmashingに飛び込んでもいいのかも。

# とりあえず、デスクトップをインストールする。

https://tkyonezu.com/iot/raspberry-pi-os-lite%E3%81%AE%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E5%8C%96/

    $ sudo apt install -y xserver-xorg raspberrypi-ui-mods

raspi-configで、「1 System Options」→「S5 Boot / Auto Login」→「B4 Desktop Autologin」を設定する。

勝手にスクリーンセーバーになったり、邪魔なマウスカーソルを消します。ブラウザのインストールと自動起動設定をする。

    $ sudo apt-get install unclutter

    $ sudo apt-get install chromium-browser

    $ sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

設定内容は下記。
前回の通りやったが、上手くいかず、修正しました。


    @xset s off
    # @xset -dpms
    @xset s noblank
    @unclutter
    @chromium-browser --kiosk --app=https://www.google.com/calendar/render?tab=mc

とりあえず、ここまででディスプレイに今月の予定を表示させることができました。


# smashingのインストールを試みる。

    sudo apt-get install ruby-full
    
    sudo apt install build-essential libssl-dev
    
    sudo apt-get install nodejs
    
    sudo gem install bundler
    
    sudo gem install smashing
    
    smashing new my-project
    
    cd my-project

    bundle
    
    smashing start

ここまででとりあえず、localhost:3030でサンプルが表示されます。
これを煮るなり焼くなりして、遊びます。

https://gist.github.com/jsyeo/39d3fde3afbffdd31093

を参考に

    dashing install 39d3fde3afbffdd31093

次にmomentが必要らしい

    
    npm install moment
    -bash: npm: command not found

npmが必要らしい

これをインストールするためには、nodebrewが必要らしい。

https://qiita.com/sinmetal/items/154e81823f386279b33c

を参考に一旦nodeのアンインストールを試みましたが上手くいかず、、、

https://arkgame.com/2021/12/23/post-303090/

    sudo apt remove nodejs
    sudo apt purge nodejs

でアインストールし、
https://github.com/hokaccha/nodebrew

    $ curl -L git.io/nodebrew | perl - setup
    $ wget git.io/nodebrew
    $ perl nodebrew setup
    
    $ nano .bashrc

に

    export PATH=$HOME/.nodebrew/current/bin:$PATH

を追加
    
    $ source ~/.bashrc
    
    $ nodebrew help
    
    nodebrew install v8.9.4
    
    $ nodebrew ls
    
        
    nodebrew ls
    v8.9.4
    v20.12.0
    
    current: none
    $ nodebrew use v20.12.0
    use v20.12.0
    $ node -v
    v20.12.0
    $ npm install moment

これでようやく、momoentを入れることができました。

    $ npm install moment
    
    $ gem install icalendar
    
    $ bundle install

    $ smashing start

動かない。。。。。

    Traceback (most recent call last):
            23: from /home/hogehoge/my-project/vendor/bundle/ruby/2.7.0/bin/thin:23:in `<main>'
            22: from /home/hogehoge/my-project/vendor/bundle/ruby/2.7.0/bin/thin:23:in `load'
            21: from /home/hogehoge/my-project/vendor/bundle/ruby/2.7.0/gems/thin-1.8.2/bin/thin:6:in `<top (required)>'
            20: from /home/hogehoge/my-project/vendor/bundle/ruby/2.7.0/gems/thin-1.8.2/lib/thin/runner.rb:159:in `run!'
            19: from /home/hogehoge/my-project/vendor/bundle/ruby/2.7.0/gems/thin-1.8.2/lib/thin/runner.rb:203:in `run_command'
            18: from /home/hogehoge/my-project/vendor/bundle/ruby/2.7.0/gems/thin-1.8.2/lib/thin/controllers/controller.rb:72:in `start'
            17: from /home/hogehoge/my-project/vendor/bundle/ruby/2.7.0/gems/thin-1.8.2/lib/thin/controllers/controller.rb:182:in `load_rackup_config'
            16: from /home/hogehoge/my-project/vendor/bundle/ruby/2.7.0/gems/thin-1.8.2/lib/rack/adapter/loader.rb:33:in `load'
            15: from /home/hogehoge/my-project/vendor/bundle/ruby/2.7.0/gems/thin-1.8.2/lib/rack/adapter/loader.rb:33:in `eval'
            14: from config.ru:1:in `<main>'
            13: from config.ru:1:in `new'
            12: from /home/hogehoge/my-project/vendor/bundle/ruby/2.7.0/gems/rack-2.2.9/lib/rack/builder.rb:125:in `initialize'
            11: from /home/hogehoge/my-project/vendor/bundle/ruby/2.7.0/gems/rack-2.2.9/lib/rack/builder.rb:125:in `instance_eval'
            10: from config.ru:1:in `block in <main>'
             9: from config.ru:1:in `require'
             8: from /home/yasushi/my-project/vendor/bundle/ruby/2.7.0/gems/smashing-1.3.6/lib/dashing.rb:3:in `<top (required)>'
             7: from /home/yasushi/my-project/vendor/bundle/ruby/2.7.0/gems/smashing-1.3.6/lib/dashing.rb:3:in `require'
             6: from /home/yasushi/my-project/vendor/bundle/ruby/2.7.0/gems/smashing-1.3.6/lib/dashing/app.rb:187:in `<top (required)>'
             5: from /home/hogehoge/my-project/vendor/bundle/ruby/2.7.0/gems/smashing-1.3.6/lib/dashing/app.rb:176:in `require_glob'
             4: from /home/hogehoge/my-project/vendor/bundle/ruby/2.7.0/gems/smashing-1.3.6/lib/dashing/app.rb:176:in `each'
             3: from /home/hogehoge/my-project/vendor/bundle/ruby/2.7.0/gems/smashing-1.3.6/lib/dashing/app.rb:177:in `block in require_glob'
             2: from /home/hogehoge/my-project/vendor/bundle/ruby/2.7.0/gems/smashing-1.3.6/lib/dashing/app.rb:177:in `require'
             1: from /home/hogehoge/my-project/jobs/google_calendar.rb:1:in `<top (required)>'
    /home/hogehoge/my-project/jobs/google_calendar.rb:1:in `require': cannot load such file -- icalendar (LoadError)

https://gist.github.com/jsyeo/39d3fde3afbffdd31093

コミュニティによると、同じことが起きている人がいるみたい。

# とりあえず
やっぱりsmashingには数々のハードルが用意されているようです。
Chromeの自動起動、googleカレンダーのキオスク表示で、一旦の目的を達することができました。。。。
スタイリッシュではないのが、イマイチです。。。。
googleカレンダー上で天気のicalを参照することにより、天気予報も兼ねることができました。

下記を併せて表示させています。
iCal週間天気予報(京都)
https://weather.masuipeo.com/kyoto.ics
他の地域は下記を参照します。

https://weather.masuipeo.com/