Harukaのnote

Linuxやプログラミング,写真,旅行等の記録帳

Lenovo ideapad(Linux)でバッテリー保全機能の管理

私は Lenovo ideapad c340 14インチ(AMD)を普段使いPCにしています。

Lenovoのキーボードの打鍵感もよく、Ryzen5搭載でCore i5相当のパワーもありつつ、ペンタブにもなるという万能さが気に入ってます。

Winodws と Manjaro linuxデュアルブートという万全の体制にしているのですが、一点不満があります。

それが、

バッテリー保全機能

WIndows では Lenovo Vantage というソフトで充電上限を管理し、フル充電によるバッテリーの劣化を抑える機能です。

これがLinuxではうまく動作されず、気づいたら充電されてなくてバッテリーがない状況が多々あります。

これをどうにかできるものはないかと調べたらありました。

ipman という有志が開発したアプリケーションです。

使い方を説明します。

ipman のインストール

github.com
こちらのGitHubの通りに進めます。
ある程度Linuxに詳しい方はこれで大丈夫と思いますが、初心者の方向けに丁寧に書いてみます。

Arch系Linuxの場合

ManjaroなどArchベースの場合は、コミュニティリポジトリにあるので簡単です。

yayをインストールしてない方は先にそれをします。yayはコミュニティリポジトリ(有志開発ソフト群)にアクセスして自動でインストールしてくれるソフトです。

$ sudo pacman -S yay

そして、以下のコマンドでインストール完了です。途中に確認がありますが、基本エンターで大丈夫です。

$ yay -S ipman

Linux 全般(例:Ubuntu

git をインストールします。

sudo apt-get install -y git

git を使ってGitHubからダウンロードし、makeとmake installを実行します。

$ git clone https://github.com/Lenovsky/ipman
$ cd ipman
$ make
$ sudo make install

これでインストール完了と思います。

ipman の使い方

保全モードをオフにします。

$ sudo ipman -d
$ ipman -s
Battery protection: DISABLED

ON OFF操作時はsudoが必要です。

コマンドの詳細

コマンド 説明
-h, --help ヘルプ
-v, --version このプログラムのバージョン
-s, --status 現在の状態
-e, --enable 保全モードON (充電上限を 55-60%に)
-d, --disable 保全モードOFF(充電上限を 100% に)

もしこれで充電が開始されなければ一度プラグを挿し直して見てください。


作成者に感謝です。
正直、Ideapad C340の唯一の不満点はこの保全機能です。
Windowsでもちょいちょい誤作動してるのか何度か挿し直さないと充電されないときがありちょっと困ります。

Ubuntu で Chrome Remote Desktop がやっとうまくいった

ここ最近苦戦していた Chrome Remote Desktop ですがついにうまくいく方法が見つかりました。

Gnome ではログインキーリングのポップアップが出て、かつそれに入力できなかったのですが Xfce では入力できました。

それは Xfce を使う方法です。

構成

  • 直接使う → Unity デスクトップ
  • リモートで使う → Xfce デスクトップ

方法

Xfce のインストール

Xfceをインストールします。
ターミナルから以下のコマンドでいいと思います。
もしくはSynapticパッケージマネージャから。

$ sudo apt-get install -y xfce4 xfce4-goodies

www.fuukemn.biz

Chrome Remote Desktop の設定

~/.chrome-remote-desktop-session を開き設定を追記します。
存在しなければ作成します。
任意のエディターで開いてください。私はVimを用います。

$ vim ~/.chrome-remote-desktop-session

以下の内容を記載します。

export $(dbus-launch)
exec lightdm-session startxfce4

qiita.com

これで準備は終了です。

後は普通に Ubuntu の Unity側で Chrome を開き、Chrome Remote Desktop を起動します。

ノートPCからアクセスすると、Xfce のデスクトップが立ち上がり、ログインキーリングへのパスワードの入力が求められます。
普段のログイン時のパスワードを入力することで問題なく使えると思います。

今回、ネット上で見かける Chrome Remote Desktop 本体の設定を書き換えるような対策はしていないです。
前回の記事のように、USBへのアクセスができなくなりましたので。
おそらくですが、ディスプレイ0に書き換えて共通のデスクトップを共有する方法は、セキュリティレベルが挙げられて Chrome Remote Desktop をオンにしている間のデバイスへのアクセスを制限されてしまうのではないかと感じています。

問題点

ChromeChromeアプリは手元のノートPC(Xfce 側)から立ち上げると、リモート(Ubuntu 側)のホスト側で起動されてしまい使えませんでした。
Firefox は問題なく使えました。

感想

やっとまともに Chrome Remote Desktop が使えるようになりました。
これの利点は、

  • 手軽(セットアップを除く)
  • VNCをしようとすると Ubuntu の vino ではエラーがあり暗号化通信ができないが、これはそれよりはマシな暗号化通信でアクセス可能
  • 体感ではVNCより遅延が少ない
  • デスクトップ操作が変わるのが嫌な人もいるかもしれないが Unity デスクトップより Xfce は圧倒的に軽いため、そもそも向いている

などです。

これでちょっと重めの出力イメージをGPU搭載PCのパワーで見られるようになりました。

Ubuntuの Not authorized to perform operation の原因は Chrome remote desktop かも

最近 Chrome remote desktop を使用し始めてからファイラー(nautirus)でUSBマウントができなくなったので。

調べてみると以下のような記事が…
askubuntu.com

やはり原因は Chrome remote desktop のようですので、記事の通りアンインストールしました。

sudo apt autoremove chrome-remote-desktop

なにか他の方法でリモートデスクトップがしたいなぁ。

Zorin OS core で Chrome リモートデスクトップ

研究室のPCは Zorin OS を使っています。

理由は、

  • Ubuntu ベースだからGPU関連の記事で困ることはない
  • 使い勝手が Ubuntu の Unity デスクトップ環境よりも良い
  • 細かな動作・アイコンがきれい
  • その分野で大多数を占めるメジャー製品は使いたくない謎のこだわり
  • Ubuntu のもやっとした赤色が好きではない
  • Unity デスクトップが重たい印象がある(今は違うかも)

です。

ちなみにノートPCは manjaro と Windows10 のデュアルブートで使っています。

それで、本題の Zorin で Chrome リモートデスクトップですが、以下のとおりにするとうまく行きました。
.chrome-remote-desktop-session

export $(dbus-launch)
env GNOME_SHELL_SESSION_MODE=zorin /usr/bin/gnome-session --session=zorin

メモ書きなので、画像は少ないですがご容赦ください。

Python の GUI ~ EEL と Kivy ~

最近 Python GUI として Kivy ばっかり使ってたんだけど、どうも細かなことが設定しづらくてやめてしまいました。

知人の Excel を苦手とするために機能を制限した表計算と結果のPDF化ソフトを作っていたのですが…


ひさしぶりに自分の GitHub を見返すと、今年の夏頃に Eel という Python GUI ソフトを使っていたので、そこに回帰するはめになりそうです。

Eel の良い点は以下にあります。
qiita.com


個人的に良いと思う点はこれらです。

悪い点は、裏でBottle(サーバ)を動かしてブラウザでアクセスしてるので無駄な処理感がある点です。

でも、まあそれは Electron にも言えることなので。

今後 Eel から Apk が作れるようになると良いのですけど(需要があるかは別として)。
Monaca とやってることは近いから無理では無い気がしますが。

最後に、以前 Eel と Plotly.js を組み合わせて作った csv 可視化ソフトを貼っておきます。
Kaggle かなにかの Mobile price CSVデータを授業で可視化するために作りました。
Plotly には Plotly Dash というGUIもあるのですが、細かな処理が使いにくく感じていたので。

誰かが可視化をサクッと終わらせたいときにお使いください。
github.com


使ったデータこれでした。
Mobile Price Classification | Kaggle