◎メインサイトとSNS
VSRX - オリジナルOSやライブラリ、アプリケーションのリファ レンスとプログラミングなどの各種テクニックを公開しています。
RED - デジタルガジェットとサブカルチャーの話題を取り上げています。
Instagram
Youtube Channel
KANSAI IDOL EVENT Calendar
人気記事ランキング
    最近の記事

    2019年01月15日

    2019年のLinuxの軽量デスクトップ環境のオススメ

    GNOMEやKDEなどのデスクトップ環境がありますが、軽量である程度使い勝手を確保出来る環境としてはウィンドウマネージャー「Openbox」をベースにして構築した方がパソコンのリソースをアプリケーションに集中的に割り当てる事が出来ます。2019年のLinuxのデスクトップ環境のオススメは以下の通りです。

    Openboxセッション
    ウィンドウマネージャー ー Openbox
    Openbox設定 ー obconf-qt、obmenu
    GTK+3テーマ変更 ー lxappearance
    日本語入力環境 ー Fcitx+Mozc
    キーボード設定 ー lxinput
    ディスプレイ設定 ー lxrander
    ファイルマネージャー・壁紙管理 ー PCManFM-Qtのデスクトップモード
    パネル・ランチャー ー Plank
    システムトレイ ー stalonetray
    コマンドランチャー ー gmrun
    電源管理 ー xfce4-powermanager
    テキストエディタ ー Featherpad,emacs-nox
    ブラウザ ー Chromium-Browser
    スクリーンショット ー gnome-sceeenshooter
    ネットワーク管理 ー network-manager-gnome
    ターミナル ー xfce4-terminal
    音量管理 ー gnome-alsermixer
    タスク管理 ー xfce4-task
    posted by takatan at 14:21| 大阪 ☀| linux | このブログの読者になる | 更新情報をチェックする

    2019年01月03日

    LinuxのLiveDVDのISOをUEFI搭載のパソコンで直接起動させるには

    https://www.rmprepusb.com/tutorials/136_uefi_ubuntu

    BIOS時代にLinuxのLiveDVDのISOを直接起動させて使ったりしていました。これは、UNetbootinなどのLiveUSBを作成するツールを使わなくても、LiveDVDのISOを交換するだけで、システムドライブとは別にLinuxの環境が使えて便利でした。しかし、UEFIが主流になってきて、しばらくこの方法が分からなかったので放置していたのですが、久しぶりに調べてみたら、既にUEFI向けの直接起動用のツールが公開されていました。

    https://www.rmprepusb.com/tutorials/136_uefi_ubuntu/UEFI_boot_from_ISO.zip?attredirects=0&d=1

    1.USBメモリーに「/efi/boot」ディレクトリを作成します。
    2.この中に、使いたいLinuxのLiveDVDのISOを「boot.iso」に名前を変更して入れます。
    3.上記リンク先のファイル「UEFI_boot_from_ISO.zip」をダウンロード解凍し、中に入っている「bootX64.efi」「bootIA32.efi」も/efi/bootに入れます。
    4.これで、UEFIの設定画面にアクセスして、Securebootの項目をオフにしておきます。
    5.ASRockのマザーボードですと、メーカーロゴが出ている時にF11キーを押しっぱなしにすると、起動させるストレージを選べるようになるのですが、その画面から作成したLiveUSBを起動させれば、ISOを直接起動させる事が可能です。

    日本語対応させるには、boot.iso内の/boot/grub/loopback.cfgに以下のように「debian-installer/language=ja keyboard-configuration/layoutcode?=jp keyboard-configuration/modelcode?=jp106」を追加して、リマスターをする必要があります。

    menuentry "Try Ubuntu without installing" {
    set gfxpayload=keep
    linux /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper iso-scan/filename=${iso_path} -- debian-installer/language=ja keyboard-configuration/layoutcode?=jp keyboard-configuration/modelcode?=jp106
    initrd /casper/initrd.lz
    }
    posted by takatan at 19:28| 大阪 ☀| linux | このブログの読者になる | 更新情報をチェックする

    2018年12月25日

    【2018年年末パソコン・スマホの中身も大掃除しよう】溜まったデータの整理・圧縮をしてストレージ環境をスッキリとしよう

    パソコンやスマホなどの情報端末を使っていると、次第に様々なデータが溜まってストレージがゴチャゴチャとしてしまいませんか?
    年末ですし、折角なので、パソコン・スマホの中身もスッキリとして使い易い環境を整えましょう。

    ◇動画を圧縮・不用なシーンをカットする
    動画はストレージを圧迫するものですので、超高解像度に拘っているので無ければ、出来るだけ圧縮した方が良いです。あるいは観る場面が限られているのであれば、無圧縮でカットが出来る動画編集ツールを使って不用なシーンをカットするのも効果的です。

    動画を圧縮するには、動画エンコーダーを使います。H.264やH.265といった動画コーデック、AACやMP3といった音声コーデックが主流になっています。2パスエンコードをしますと、容量を減らせる可能性は高まりますが、処理に時間がかかりがちです。そこで、動画エンコーダーでH.264やH.265を使った動画エンコードをする時には、「品質固定」の設定を使います。大体20〜23ぐらいに設定すれば、HDからフルHDの解像度でも十分に綺麗な映像になります。2パスエンコードよりは容量は大きくなるかもしれませんが、ビットレートを固定してエンコードをするよりは着実に画質を確保する事が出来ますし、手間がかからず、比較的早くエンコード処理を終えられます。動画エンコーダーとしては、HandbrakeやWinffを使うと便利でしょう。

    https://handbrake.fr/

    動画ファイルを軽量化する方法は、不用なシーンをカットして編集するというのも有効です。無劣化で編集出来るツールとしてはAvidemuxが適しています。
    http://avidemux.sourceforge.net/

    ◇動画の解像度を落とす
    近年では、4K動画などを視聴出来る環境が一般的になっていますが、映像作品をノートパソコンやスマートフォンやタブレットなどで視聴する場合、そこまで高解像度である必要がありませんし、解像度が高いほどデータ容量が大きくなってしまいます。そこで、データ容量を落とす有効な手段が動画エンコーダーを使って、解像度を落とすというものです。4Kであれば、フルHDやHDに落とす事で大幅な容量削減をする事が出来ます。

    ◇画像の解像度を落とす
    画像も動画同様に解像度を落とす事でデータ容量を小さくする事が出来ます。また、画像にはデジカメやスマホなどの機種やGPSの位置情報などが入っているEXIFなどのデータが入っている事もありますので、それらを削除する事でも容量をほんの少し落とす事が可能です。画像編集ソフトや容量削減サービスなどを使って、この作業を行う事が出来ます。

    以下が画像圧縮オンラインサービスです。
    https://tinyjpg.com/
    https://kraken.io/web-interface
    https://www.jpegmini.com/
    https://imagecompressor.com/
    https://compressor.io/

    オープンソースで公開されている画像編集ソフト
    https://www.gimp.org/

    画像圧縮をLinuxのコマンドで出来るツール
    https://www.imagemagick.org/script/index.php
    https://www.kokkonen.net/tjko/projects.html

    ◇見なくなった動画や画像を思いっきって捨てる
    見なくなった動画や画像は今後見る事がなくなってしまう可能性が高いので、思い切って捨てるのが容量削減にはとても効果的です。

    文書データは圧縮しても言うほどストレージの容量を確保出来ないので、動画・画像に絞ってデータ整理をしていくと良いでしょう。データ容量が減るメリットとしては、複数メディアやストレージへのバックアップが楽になるという事でしょうね。一番良いのはOSを含めて総容量が120GBに収まれば、HDDやSSDだけでなく、大容量USBメモリーやSDカードにも保存しておく事が出来ます。無理なら、240GB〜500GBを目安に整理しますと、ほとんどのSSDに保存出来ますので、今時のパソコンなどであれば、比較的短時間で環境バックアップが出来るでしょう。
    posted by takatan at 14:07| 大阪 ☀| linux | このブログの読者になる | 更新情報をチェックする

    2018年12月07日

    KLUE3.0のアップデータから高音質化を探ってみる

    Kona Linux 4.0やKLUE 3.0は、従来の物よりも音質がかなり向上しているらしい。恐らく、ネットワークを使っている時やプロセッサに負荷をかけた時などにおいてノイズが発生するので、それをスクリプトで抑えるように工夫が施されていると思います。

    僕のLinux環境は、カスタムカーネルとPulse Audio+Jack Audio Connection Kitの組み合わせである程度高音質化が出来ています。Jackの設定はリアルタイムカーネル向けの設定をもっと極端にいじって、出力側のPulseでイヤホンにマッチさせている。ALSAだけだと音が綺麗だけど、ちょっとキンキンするから。

    最新バージョンのKLUE3.0をダウンロードしたので、どうやって高音質化しているのか参考にさせてもらおうと思います(^_^;)
    以前調べた時に比べて、相当作者が手を入れたそうなので、自分の環境の改造をするのに参考になるかもしれない。

    ちなみに、今の僕の高音質化したLinux環境で何を聴いているかというと、ゾンビランドサガの主題歌「徒花ネクロマンシー」だったりする・・・(・∀・)
    この歌、クセになる(^_^;)

    KLUE3.0のsoundset.sh を見たけど、ここからコマンドでリアルタイムスケジューリング絡みの設定をいじっているのか。僕の場合は、/etc/sysctl.d/90-override.confを作成してカーネルパラメータ関連の設定を纏めて設定している。パワマネはRAMに置いているのは以前のままのようですね。

    initisystem.sh がメインのスクリプトらしい。ここで、sysctl.d絡みの設定を行なっていますね。fstabやgrubもいじっているようです。xenomi kernelを使用した時にpowersaveに移行するようになっています。soundset.sh やアップデータもこのスクリプトで呼び出していますね。

    KLUE3.0のアップデータをダウンロードしてきました。こちらの方が興味深いスクリプトがたくさんありました(^_^;)
    tmpfsは/var/lib/kona/binに設定するようになっています。
    僕の方法は、Openboxの起動スクリプトに纏めて設定しているけど、KLUE3.0の場合はアップデータを取得する事で対応してますね。

    KLUE3.0のアップデータの中にsoundclass.sh というスクリプトがありますが、これが音質を変える仕組みの本体のようです。なるほどアップデートをかけないと、この仕組みが分からないわけだわ(^_^;)
    これを参考にすれば、音質改善が出来そうかも。今でも十分なのですが(^_^;)

    KLUEやKona Linux関連のアップデータやカーネルは、ここから入手可能ですので、どういう仕組みか知りたい時には、このアップデータを取得すれば良いのではないでしょうか(^_^;)
    作者にとっては不本意な使い方かもしれないけど(^_^;)
    http://simosnet.com/debian/packages/Konalinux/ubuntu/

    アップデータのsoundset.sh を見ると、libasoud・libpulse・libpulse-mainloop・gstreamer-pulseaudioをモードに応じてRAMディスク上で動作させています。まさか、こんな事しているとは盲点だった(^_^;)
    libjackやlibjackserver、module-jack-sinkまでRAMディスクで動作させている(^_^;)

    network-mangerまでRAMディスクで動作させていたのか(^_^;)。それは、ネットワーク周りでトラブルわけだわ(^_^;)。
    posted by takatan at 02:23| 大阪 ☁| linux | このブログの読者になる | 更新情報をチェックする

    2018年11月27日

    Chromium Browserに追加したChrome拡張機能とChromeアプリ

    Google Chromeのオープンソース版「Chromium Browser」を愛用していますが、その中で使う為に導入したChrome拡張機能やChromeアプリは以下の通りです。実用性重視で選びました。

    ◇Chrome拡張機能
    ・Adblock Plus ー 広告ブロック
    ・AutoPagerize ー 自動ページ送り
    ・Awesome Screenshot ー スクリーンショット撮影
    ・Black Menu for Google ー Googleアプリ用メニュー
    ・ColorPick Eyedropper ー カラーピッカー
    ・Douga Getter ー 動画ダウンローダー
    ・Downloads2 ー ダウンローダー
    ・Google オフライン ドキュメント ー Googleドキュメントツールをオフラインで使う
    ・HTMLエラーチェッカー ー WebページのHTMLのエラーチェックを行う
    ・Image Downloader ー 画像一括ダウンロード
    ・jsoff ー JavaScriptのオンオフ
    ・OneTab ー 一つのタブに集約してメモリー削減
    ・Screencastify - Screen Video Recorder ー 動画キャプチャー
    ・The QR Code Extension ー QRコード生成
    ・Twitter メディアダウンローダ ー Twitterの画像・動画をダウンロード
    ・User-Agent Switcher for Chrome ー ユーザーエージェントの切り換え
    ・View Image Info ー 画像情報
    ・Web Maker ー ライブコーディング
    ・その本、図書館にあります。 ー 図書館の図書の在庫確認
    ・どこでも翻訳 Translate Anywhere ー 翻訳
    ・ストリームレコーダー ー Webページの動画をキャプチャーしてダウンロード
    ・データセーバー ー Webページのコンテンツのデータを削減する
    ・SearchPreview ー 検索結果ページでサイトのサムネイルが表示される
    ・Scroll To Top ー ページの最上部や最下部に瞬時に移動
    ・文字数カウンター ー 文字をなぞって、右クリックメニューから文字数カウンターを選ぶと自動的に数えてダイアログで教えてくれる
    ・Extensions Manager ー 拡張機能管理


    ◇Chromeアプリ
    ・read.crx 2 ー 5ちゃんねる・オープン2ちゃんねるなどの巨大掲示板フロントエンド
    ・Chromeデスクトップ ー Chrome系ブラウザ同士を接続してリモートデスクトップを行う
    ・Google Drive ー Google Driveへのリンク
    ・OneDrive ー OneDriveへのリンク
    ・ARC Welder ー Androidアプリを動作させる
    ・Caret ー メモ帳

    ◇Google ChromeからChromiumに無理矢理入れたプラグイン
    */usr/lib/chromium-browser直下に置いた。dアニメストアなどのビデオオンデマンドサービスで視聴する時に必要。
    ・libwidevinecdm.so
    ・libwidevinecdmadapter.so

    Screenshot from 2018-11-10 11-44-37.png
    Screenshot from 2018-11-10 11-44-48.png
    Screenshot from 2018-11-10 11-44-30.png
    Screenshot from 2018-11-10 11-44-42.png
    Screenshot from 2018-11-10 11-45-01.png

    ◇ブックマークレット
    ・アメブロの画像を画像だけ表示

    javascript:(function(){window.open(document.getElementById('imgEncircle').firstChild.getAttribute('src')%2C'_blank')}())

    ・Youtube動画ファイルのみ表示

    javascript:void((function(undefined){var url=location.href;if(url!=undefined&&url!=''){var hostname=location.hostname;if(hostname.match(/\.youtube.com/)){siteswitch('thxyoutube')}else if(hostname.match(/\.thxyoutube.com/)){siteswitch('youtube')}function siteswitch(hostname){var url='https://www.'+hostname+'.com';var arg=new Object;var pair=location.search.substring(1).split('&');for(var i=0;pair[i];i++){var kv=pair[i].split('=');arg[kv[0]]=kv[1]}if(arg.v!==null&&arg.v!==undefined&&arg.v!=''){url+='/watch/?v='+arg.v;if(arg.list!==null&&arg.list!==undefined&&arg.list!='')url+='&list='+arg.list;}location.href=url}}})());
    posted by takatan at 00:46| 大阪 ☁| linux | このブログの読者になる | 更新情報をチェックする

    2018年11月25日

    HTML5でアプリケーションを作る方法は色々

    HTML5は、WebサイトやWebアプリケーションのインターフェース部分やWebページを構築する基本的なマークアップ言語、あるいはプラットフォームの事です。文字列をW3Cで勧告されて各ブラウザに実装されていきます。近年では、クラウドコンピューティングが広がった事で、クラウドサービス上の仮想環境にサーバ環境を構築するケースが急増しており、主なオンラインサービスはクラウドサーバ上で展開される事が多いです。
    HTML5だけでも、音声や動画などを再生したり、様々なフォームやボタンを設置させる事が出来たりするAPIが用意されていますが、UIのデザインを構築するにはCSS3を使い、動的コンテンツを構築する場合にはJavaScriptを使ってスクリプトを用意する事で、より実用性のあるWebサイトやWebアプリケーションを作り上げる事が出来ます。JavaScriptにはjQueryやReact、Vue.jsなどの高度な機能を追加するフレームワークがありますので、一から機能を作り上げる手間が大幅に減ってきており、本来構築したいソフトウェアを作り上げる環境がどんどん整ってきています。また、CSS3もプリプロセッサであるSassやLESSなどを使って、独自言語で効率的にデザインを作っていく事も可能です。デプロイ時にWebページがCSSを読み込んで表示出来るように、プリプロセッサ独自のスタイルシートをCSSにコンパイルする仕組みになっています。
    このように、HTML5をベースにしたWebサイトやWebアプリケーションは、デスクトップアプリに近い考え方で徐々に開発出来るようになってきています。ネット上で公開されているオンラインサービスは、Webメールやオンラインストレージ、動画共有サイトや写真共有サイトなど様々なものが存在していますが、HTML5・CSS3・JavaScriptのそれぞれのクライアント向けのWeb技術が進化した事で色々な機能を搭載出来るようになっています。

    HTML5ベースでアプリケーションを作る方法はいくつか存在します。

    ・従来型のクライアント・サーバシステムで作る。
    クライアント側は、主にUIやデータの送受信、受信したデータの加工と表示を行う事になります。HTML5とJavaScriptを組み合わせる事で、ローカル環境にあるファイルをブラウザにドラッグ&ドロップして、Webアプリケーションに取り込んで編集したり、サーバにアップロードしたりといった事が行なえます。また、PythonのようにWebサーバ機能があるモジュールを持っている場合には、このモジュールを使う事でサーバを立てる事が出来ますので、ローカル環境でWebアプリケーションを構築する場合には、ApacheなどWebサーバを別途インストールする必要が無く、ローカル環境で動作するWebアプリケーションの構築を行う事も可能です。
    https://www.python.org/

    この方法の良いところは、ブラウザ上でUIを作り、センサーなどを搭載したマイコンボードベースのコンピューターで取得したデータをサーバのデータベース上で管理し、グラフなど可視化したい時に逐一ブラウザからUIを操作してデータの取得、データの加工と表示をさせる事が出来る点です。クラウドサーバのようにいくつも仮想環境を作る事が出来ない場合には有効な方法です。

    ・スマートフォンやタブレット向けのモバイルアプリケーションを構築出来るプラットフォームを活用する。
    モバイル端末向けのアプリケーションは、従来JavaやC言語などを使って、AndroidなどのモバイルOS向けのSDKと組み合わせて開発するのがデフォルトでした。しかし、近年ではReact NativeやMonacaなどのフレームワークを使って、Web技術でモバイルアプリケーションを開発する事が出来るようになっています。フレームワークによってネイティブ動作出来るかどうかの違いがありますが、ネイティブ動作出来るアプリも作る事が出来るケースでは、独自のAPIが用意されている事が多いです。バージョンアップが常に図られていますので、次第にネイティブ動作するモバイルアプリと遜色が無いレベルまで追いついてきています。
    https://facebook.github.io/react-native/
    https://ja.monaca.io/


    ・クラウドサーバ上でWebアプリケーションを構築する。
    従来型のクライアント・サーバシステムでのWebアプリケーションの動作と基本的に同じですが、ネットでオンラインサービスを展開する上で、より多くの処理が必要になったり、高度な機能が必要になったりした場合、レンタルサーバではなく、自分でサーバを用意した方が様々なライブラリやモジュールをインストール出来る点で優れています。レンタルサーバでは最初から搭載されているモジュールやライブラリしか使えない事もありますので、クラウドサーバ上で必要なサーバOSやモジュールやライブラリ、ソフトウェアを仮想環境上に展開する事が出来れば便利でしょう。IaaS型のクラウドサーバであれば、サーバOSのインストールも可能ですので、ローカル環境で使っているサーバOSの環境に合わせる事が出来るメリットもあります。使い慣れたOS環境であれば、スクリプトを動作させたり、開発したアプリケーションを稼働させてサービスを展開したりといった事が行い易くなります。IaaS型のクラウドサーバの料金は、大体従量課金制ですが、極端に高くなる利用料ではありませんので、ユーザーが最も使い易いと考えられるサービスを選ぶと良いでしょう。

    ・クライアントサイドプログラムしか動かせないけれども、GitHub上でWebサイトを公開する。
    オープンソースコードの公開の場として世界中で利用されているオンラインサービスである「GitHub」には、GitHub Pagesという機能が用意されています。GitHubのアカウントを持っている人々であれば、誰でも使う事が出来るもので、GitHubにWebサイトやWebアプリケーションのソースコードをアップロードして、そのソースコードを公開する代わりに、ネット上にWebページを公開出来るというものです。開発者ページとして活用すると便利でしょう。Sphinxでドキュメントページを作って、pushすれば、このドキュメントページも公開する事が可能です。
    https://pages.github.com/

    このように、HTML5ベースのアプリケーションを開発する環境は、動作させる環境やサービスを展開する状況に応じて、様々なアプローチが用意されています。かつては、クライアント・サーバシステムのアーキテクチャーベースでしかWebアプリケーションを構築する事が出来ませんでしたが、現代社会ではクラウドサーバ上に展開されているオンラインサービスを当たり前のように使える環境が整ってきました。必要に応じて、利用者のニーズに合った環境を選んでみると良いでしょう。
    posted by takatan at 22:57| 大阪 ☀| linux | このブログの読者になる | 更新情報をチェックする

    2018年11月16日

    PC版Chromium BrowserでInstagramに写真をアップロードする方法

    通常PC版のGoogle ChromeやChromium Browserでは、Instagramへの写真のアップロードが出来ませんが、ユーザーエージェントをモバイルOS+モバイルブラウザに変更する事でアップロードが可能です。

    https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/djflhoibgkdhkhhcedjiklpkjnoahfmg

    PC版Chrome系ブラウザの場合、ユーザーエージェントの切り換えに便利なのが、User-Agent Switcher for ChromeというChrome拡張です。これを導入して、Instagramにログインし、iOSやAndroidのユーザーエージェントに切り換える事でモバイル版Instagramを表示する事ができ、Instagramへの写真のアップロードが可能になります。

    対応しているOSは、Windows・macOS・Linux・Chrome OSなどです。

    Screenshot from 2018-11-16 12-59-27.png
    posted by takatan at 13:00| 大阪 ☀| linux | このブログの読者になる | 更新情報をチェックする

    2018年11月07日

    「QT_QPA_PLATFORMTHEME environment variable is not set correctly」というエラーが出てqt5ctが使えない時の対処法

    Qt5で開発されたアプリケーションのデザインを一括で変更するには、qt5ctを使う事になります。Ubuntu系ディストリビューションの場合は以下のコマンドでインストール出来ます。


    $sudo apt-get install qt5ct


    この設定ツールを起動させる時に、「QT_QPA_PLATFORMTHEME environment variable is not set correctly」というエラーが出る時があります。これは、適切に設定されていない事で出るものですので、以下のように修正してシステムを再起動させれば、直ります。


    $sudo nano /etc/environment

    以下の文を追加。
    QT_QPA_PLATFORMTHEME=qt5ct
    posted by takatan at 03:06| 大阪 | linux | このブログの読者になる | 更新情報をチェックする

    GTK+3・Qt5時代におけるOpenboxベースのLinuxデスクトップ環境

    2018年11月現在、多くのLinuxディストリビューションに収録されているアプリケーションがGTK+3やQt5といった比較的新しいツールキットで開発されています。Linuxディストリビューションは、カーネルやデスクトップ環境や各種アプリケーションを入れ換える事が可能であり、ユーザー好みのデスクトップ環境を構築する事が出来ます。GNOME3やKDE Plasma 5やLXQtやCinnammonなどのデスクトップ環境は、GTK+3やQt5で開発されており、各々のデザインの統一は、各ツールキット用の設定ツールを使う事で容易に出来るようになっています。

    Linuxデスクトップ環境でミニマムな物を構築したい場合には、Openboxなどといった独立して動作するウィンドウマネージャーを活用するのが定番です。最低限欲しいのは、パネルであり、これがあれば、アプリケーションランチャーやトレイなどを使う事が出来て便利です。Openboxと併用出来るパネルアプリとしては、fbpanelやtint2があります。いずれもシンプルでありながら十分な機能を持つパネルアプリですが、これらはGTK+2で開発されています。つまり、テーマを設定する際には、GTK+2にも対応したテーマを使う必要があり、設定ファイルである「.gtkrc-2.0」を使う必要があります。

    Openboxベースのミニマムなデスクトップ環境を最新のツールキットのみで構成するには、このパネル部分が問題になります。パネルを除いて、代わりに、GTK+3やQt5で開発されたアプリケーションドックを活用するのも一つの手でしょう。
    posted by takatan at 02:52| 大阪 | linux | このブログの読者になる | 更新情報をチェックする

    2018年10月25日

    Xfce 4.13とLubuntu 18.10に搭載されたLXQt

    ◇Xfce4.13
    gtk+3での開発が進んでいます。
    https://bluesabre.org/2018/07/01/xubuntu-development-update-july-2018/

    Thunar 1.8 (and plugins)
    Xfce Desktop 4.13
    Xfce Panel 4.13 (and plugins)
    Xfce Screenshooter 1.9
    Xfce Settings 4.13
    Updated libraries (libxfce4panel, libxfce4util, xfconf)


    ◇Lubuntu 18.10に搭載されたLXQt
    Lubuntuは今後Qtアプリケーション中心で構成されていく予定のようです。
    http://gihyo.jp/admin/serial/01/ubuntu-recipe/0542

    posted by takatan at 15:16| 大阪 ☀| linux | このブログの読者になる | 更新情報をチェックする

    2018年10月18日

    Lubuntu 18.10でついにLXQtが導入され、主なアプリケーションはQtベースになるそうです。

    Ubuntuの公式軽量フレーバーとして人気がある「Lubuntu」の最新版「Lubuntu 18.10」では、デスクトップ環境が従来のLXDEからLXQtへと変更されます。
    https://lubuntu.me/cosmic-beta-released/

    This is the first Lubuntu milestone to be released with LXQt as the main desktop environment. The Lubuntu project, in 18.10 and successive releases, will no longer support the LXDE desktop environment or tools, and will instead focus on the LXQt desktop environment. You can find the following major applications and toolkits installed by default in this Lubuntu Cosmic Cuttlefish Beta release:

    LXQt 0.13.0, with many bugfixes and improvements backported from upstream.
    Qt 5.11.1, which is the first point release in the Qt 5.11 series.
    KDE Falkon 3.0.1, which is based off of the Qt WebEngine toolkit.
    The LibreOffice 6.1.1 suite, with the Qt 5 frontend.
    VLC 3.0.4, for viewing media and listening to music.
    Featherpad 0.9.0, for notes and code editing.
    Discover Software Center 5.13.5, for an easy, graphical way to install and update software.


    LXQtは、LXDEのアプリケーションをQtベースで作られていて、KDEアプリケーションとの相性が良いのが利点です。その為、軽量KDEとしても活用出来ると思います。動画プレーヤーがSMPlayerからVLCに変更されていたり、WebブラウザがFirefoxからKDE Falkonに変更されていたりとgtk+2からの脱却を図っており、大幅な変更が加わっていると考えて良いでしょう。
    posted by takatan at 23:33| 大阪 ☁| linux | このブログの読者になる | 更新情報をチェックする

    2018年09月30日

    Raspberry Pi3向けのカスタムカーネルの作り方

    ビルド環境のOSはUbuntu 18.04 LTSを想定しています。

    1.カーネルビルドに必要な基本的なツールをPCに導入する。

    $sudo apt-get install build-essential libncurses5-dev git bc


    2.クロスコンパイルに必要なツールとRaspberry Pi用のカーネルのソースコードをgitから取得する。

    $ git clone https://github.com/raspberrypi/tools.git
    $ git clone https://github.com/raspberrypi/linux.git


    3.PCのユーザーディレクトリ上にある.bashrcに下記を追記して、ターミナルを開いているのであれば、一度閉じて再度起動させる。
    このように.bashrcに環境変数を設定しておくとビルドコマンドを打つ時に便利です。ここでは、Gitから取得したラズパイカーネルビルド用のツールのパスをCCPREFIXという環境変数に通しています。

    export CCPREFIX=${HOME}/tools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi-


    4.gitで取得したカーネルのソースコードがあるディレクトリに移動して、コンフィグファイルを作る。

    $cd linux
    $KERNEL=kernel7
    $make bcm2709_defconfig


    5.コンフィグファイルを自分好みに変更したい時には、以下のコマンドで設定をしていきます。

    $make xconfig


    6.クロスコンパイルでカーネルをビルドする。CROSS_COMPILEには先程設定しておいた環境変数CCPREFIXを入れておきます。

    $ make ARCH=arm CROSS_COMPILE=${CCPREFIX} zImage modules dibs


    -jオプションはビルドマシンのプロセッサのスレッドに応じて、スレッド数を変更する。

    7.モジュールをビルドして纏めておく。

    $ mkdir tmp_module
    $ make ARCH=arm CROSS_COMPILE=${CCPREFIX} modules -j4
    $ make ARCH=arm CROSS_COMPILE=${CCPREFIX} INSTALL_MOD_PATH=./tmp_module modules_install -j4


    ◇参考にしたWebページ
    https://www.raspberrypi.org/documentation/linux/kernel/building.md

    posted by takatan at 01:41| 大阪 ☔| linux | このブログの読者になる | 更新情報をチェックする

    2018年09月24日

    Python2.3以前とPython3のリストの逆順にする方法が異なる

    Python2とPython3で違うところは、かなり多いけれども、その中でもリスト処理をしている時に気づき易いのがリストの逆順の方法です。

    ◇Python2.3以前の場合

    import numpy as np
    n1 = np.asarray([1,2,3,4,5])
    n2 = np.asarray([2,4,6,8,10])
    n2 = n2.sort(cmp=lambda x,y:cmp(x[1],y[1]),reverse=True)
    n = zip(n1,n2)
    print(str([i[1] for i in n]))


    ◇Python3の場合

    import numpy as np
    n1 = np.asarray([1,2,3,4,5])
    n2 = np.asarray([2,4,6,8,10])
    n2 = [i for i in n2[::-1]]
    n = zip(n1,n2)
    print(str([i[1] for i in n]))


    Python2.3以前の場合は、lambda式を利用して無名関数を作って、逆順になるまで繰り返し処理をしていくという方法を使ったりしましたが、Python3ではより簡略化されており、スライスで逆順が出来るようになっています。この他にもPython3ではreversed関数を使う事でもリストの逆順を行う事が可能です。

    ◇Python3でreversed関数を使った場合

    import numpy as np
    n1 = np.asarray([1,2,3,4,5])
    n2 = np.asarray([2,4,6,8,10])
    n2 = [i for i in reversed(n2)]
    n = zip(n1,n2)
    print(str([i[1] for i in n]))

    posted by takatan at 01:49| 大阪 ☁| linux | このブログの読者になる | 更新情報をチェックする

    Google Colaboratoryを使ってオンラインでPythonを使おう!

    Pythonを使おうと思ったら、LinuxなどのOS上にPythonの実行環境やライブラリなどをインストールしなければいけません。近年では、Jupyter notebookが登場した事で、Pythonを使ったスクリプトの作成も直ぐにコードを書いて実行する環境が作る事が出来るようになっていますが、それでも、Jupyter notebookを導入するまで時間がかかってしまいます。

    いつでも直ぐにPythonのコードを書いて実行したいのであれば、Googleが公開しているオンラインサービス「Google Colaboratory」を使ってみると便利です。
    https://colab.research.google.com/

    アクセスすれば、既にJupyter notebookベースのGoogle Colaboratoryが使えるようになっていますので、新規プロジェクトを作って色々とコードを書いて試してみて下さい(^^)

    以下が実際の画面です。

    こんにちはColaboratory   Colaboratory.png

    posted by takatan at 01:17| 大阪 ☁| linux | このブログの読者になる | 更新情報をチェックする

    2018年09月23日

    ArchWikiでLinuxの音楽環境を考えてみよう

    ArchLinuxの情報源であるArchWikiは、他のLinuxディストリビューションでも応用する事が出来ますので、僕はよく閲覧しています。今回は、このArchWikiの「プロオーディオ」という項目に着目して、Linux上での音楽再生環境、あるいはDTM環境について考えてみたいと思います。基本的にどのLinuxディストリビューションでもやっておいた方が良いのは、この部分です。
    https://wiki.archlinux.jp/index.php/%E3%83%97%E3%83%AD%E3%82%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%82%AA#.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0.E3.81.AE.E8.A8.AD.E5.AE.9A


    以下のシステムの最適化がよく使われています:

    ユーザーを audio グループに追加する。
    threadirqs カーネルパラメータを追加する。
    linux-rtAUR カーネルをインストールする。
    cpufreq の governor を performance に設定する。

    noatime をファイルシステムのマウントオプションに追加する (パフォーマンスの最大化を参照)。
    リアルタイムの設定は大部分が自動化されています。リアルタイムアクセスのために /etc/security/limits.conf などのファイルを編集する必要はもうありません。とはいえ、設定を変更する必要があるときは、/etc/security/limits.d/99-audio.conf や /usr/lib/udev/rules.d/40-hpet-permissions.rules を見て下さい (これらのファイルは jack や jack2 に含まれています)。さらに、RTC の最大割り込み周波数 (デフォルトは 64 Hz) を増やすには起動時に次を実行するようにしてください:

    echo 2048 > /sys/class/rtc/rtc0/max_user_freq
    echo 2048 > /proc/sys/dev/hpet/max-user-freq
    デフォルトでは、swappiness によって定義されるスワップの頻度は 60 に設定されています。この数字を 10 にまで減らすことで、システムはディスクへの書き込みをしにくくなります。また、ファイルの変更を監視してアプリケーションにそれを報告する inotify というものがあります。大量の音声データを扱う場合、多くの対象を監視する必要がでるため、監視対象の上限を増やす必要があります。どちらの設定も /etc/sysctl.d/99-sysctl.conf で調整ができます。

    vm.swappiness = 10
    fs.inotify.max_user_watches = 524288

    PCI サウンドカードの PCI レイテンシタイマを最大化して他の全ての PCI 周辺機器のレイテンシタイマを上げるのも効果があります (デフォルトは 64 です)。

    $ setpci -v -d *:* latency_timer=b0
    $ setpci -v -s $SOUND_CARD_PCI_ID latency_timer=ff # eg. SOUND_CARD_PCI_ID=03:00.0 (下を参照)


    Linux-ckなどのカスタムカーネルでは、cpufreq governorがondemandになっているケースが多いのですが、どうやら、performance設定にしておいた方が良いようです。プロセッサのクロック周波数を抑えて、ノイズを抑えた方が良いと考えている人もいますので、この辺がちょっと分からないですね(^_^;)


    デスクトップ効果と JACK
    上のシステムの設定セクションに書かれている要素と realTimeConfigQuickScan.pl で確認できる設定に加えて、デスクトップ環境によって xruns や JACK の音声に問題が発生することもあります。特にメモリや CPU の消費が激しいデスクトップ効果を利用するデスクトップで発生します。JACK を使用する際はデスクトップ効果を無効化することを推奨します。軽量なデスクトップやウィンドウマネージャを使うことで最適なパフォーマンスを得ることができるでしょう。

    デスクトップ効果は出来るだけ切っておいた方が良いようです。今はハードウェアの性能が上がって、デスクトップ効果を出す事でプロセッサが余計にリソースを使うといった事が起こらなくなっているので、それほど神経質にならなくても良いですが、より綺麗な音を出したいのであれば、デスクトップ効果を切っておいても良いでしょう。

    ◇リアルタイムカーネルについて
    リアルタイムカーネルの導入は、現在のバニラカーネルでも十分にソフトリアルタイム性能がありますので、もうほとんど入れる必要性は無いと思いますが、入れておきますと自己満足出来ます(^_^;)HyperThreading TechnologyやSMTといった技術もBIOSなどで切っておいた方が音が安定するようです。

    https://wiki.archlinux.jp/index.php/%E3%83%97%E3%83%AD%E3%82%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%82%AA#.E3.83.AA.E3.82.A2.E3.83.AB.E3.82.BF.E3.82.A4.E3.83.A0.E3.82.AB.E3.83.BC.E3.83.8D.E3.83.AB

    ◇Wi-FiとJackの安定化
    https://wiki.archlinux.jp/index.php/%E3%83%97%E3%83%AD%E3%82%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%82%AA#.E3.83.92.E3.83.B3.E3.83.88.E3.81.A8.E3.83.86.E3.82.AF.E3.83.8B.E3.83.83.E3.82.AF

    録音をするときは WiFi を無効化してブラウザなどの不要なプログラムを終了してください。WiFi を無効化することで JACK のパフォーマンスが安定するようになったという報告は多数あります。


    ネットワーク関連の機器はノイズを発生するという事もあり、Wi-Fiなどのネットワークを切る事でノイズを大幅に減らす事ができ、Jack Audio Connection Kitの安定性が向上します。
    posted by takatan at 16:47| 大阪 ☁| linux | このブログの読者になる | 更新情報をチェックする

    2018年09月20日

    Kona Linux 4.0やKLUE 3.0の音質向上策はこういう風にされているらしい

    https://docs.google.com/document/d/11Db6HCC-X25rH_INhkw5G4gofliGM7GU9MWsmzZpWHA/edit?usp=sharing

    Kona LinuxやKLUEで実施されている音質向上策が大体分かる部分を抜粋しました。


    (9/6追記)
     サウンドに”サイレントサウンド”(某映画のテーマか?というツッコミはなしで)を追加しました。ハイパーサウンドにノイズを少なくする処置を施したものです。ネットワーク関連のサービスに手を入れてノイズを減らしました。電源とネットワークに金をかけると音がよくなるとオーディオ界隈で言われていますが、ソフトでも電源管理とネットワークをいじると音が変わります。ノイズを減らすのはソフト的にはちょっと難しくCPUクロックを下げることくらいしか思いつきませんが、ネットワーク関係のサービスをすべて止める(当然ネットワークが使えなくなる)と明らかにノイズが減り音質が向上することには気づいていました。LANカードが大量にノイズを出しているのが止まるからです。ネットワークを止めずに止めたときと同じノイズ低下の効果を実現したところに意味があります。しかしノイズが減った音の高品質化には驚きを隠せません。音の生々しさが段違いです。オーディオファンがノイズを減らすことに血眼になる理由がよくわかりました(笑い)。
    ということでサイレントサウンドがハイパーサウンドに代わって最高音質サウンドにおどり出ました。
    この低ノイズ化の手法はKona Linux 4.0にも適用しています。
    (9/8追加)
     DockyをPlankへ変更します(lightだけは最初からplank)。
    Dockyは音質的に好ましくないからです。
    自動更新の過程で音が出なくなったりネットワークが動作しなかったりしますが、バックグランドで更新が行われるのでディスクアクセスがあるうちはPCを終了させないでください。
    再起動をすると正常になります。
     サイレントサウンドはボーカルの声が生々しくまるで目の前で歌っているような錯覚に陥ります。女性ボーカルの高音が豊かに優しく響き渡ります。これがKonaサウンドの特徴です。


    この文章を読んで音質向上策は、プロセッサのCPU使用率を出来るだけ抑える事とLANなどから発せられるノイズの低減が鍵になっているようです。
    posted by takatan at 11:32| 大阪 ☔| linux | このブログの読者になる | 更新情報をチェックする

    2018年09月11日

    Processing.jsで複数のpdeファイルを取り込むには

    Processingは、Javaベースのデジタルアート向けのプログラミング環境であり、標準のエディタでは複数のpdeファイルを並行して使う事が出来る為、よく使う処理はクラスやメソッドにして、本体とは別のpdeファイルにするのが一般的であり、効率的です。JavaScript実装のprocessing.jsでも同じように本体pdeファイルとクラスpdeファイルを分けておく事が出来ます。
    クラスpdeファイルである「cx2.pde」と本体pdeファイルである「worp_man.pde」があるとします。以下はHTMLソースコードの一部です。


    <script src="processing.js" type="text/javascript"></script>
    <script type="text/javascript">
    function getProcessingSketchId () { return 'vivid'; }
    </script>
    </head>
    <body>
    <canvas id="sketch3dstg" data-processing-sources="cx2.pde worp_man.pde" width="1280" height="720">
    <p>Your browser does not support the canvas tag.</p>
    </canvas>
    <noscript>
    <p>JavaScript is required to view the contents of this page.</p>
    </noscript>
    </body>


    canvas要素のdata-processing-sources属性を「data-processing-sources="cx2.pde worp_man.pde"」とする事で、纏めてpdeファイルの導入が可能です。
    posted by takatan at 22:40| 大阪 ☁| linux | このブログの読者になる | 更新情報をチェックする

    2018年07月28日

    Bluemanを立ち上げた時に「Settings schema 'org.blueman.general' is not installed」のエラーが出た時の対処法

    UbuntuなどでBluetoothを使う時に、設定マネージャーである「blueman」が立ち上がらずに以下のエラーが表示される事があります。


    (blueman-manager:4017): GLib-GIO-ERROR **: 02:14:55.562: Settings schema 'org.blueman.general' is not installed


    このメッセージが出たら、以下のコマンドで設定をしてあげれば、bluemanが立ち上がるようになります。

    $ sudo glib-compile-schemas /usr/share/glib-2.0/schemas
    posted by takatan at 02:46| 大阪 ☁| linux | このブログの読者になる | 更新情報をチェックする

    2018年07月16日

    Ubuntu系ディストリビューションでWi-Fiアダプタの型番を調べるには

    Ubuntu系ディストリビューションでWi-Fiアダプタの型番を知るには以下のコマンドを使います。


    $ sudo lshw -class network


    以下のように表示されました。


    *-usb:2
    詳細: 無線インターフェース
    製品: WDC-150SU2M
    ベンダー: ELECOM
    物理ID: 8
    バス情報: usb@1:8
    論理名: wlxbc5c4c4dc201
    バージョン: 0.00
    シリアル: bc:5c:4c:4d:c2:01
    性能: usb-2.00 __________________ physical wireless
    設定: broadcast=yes driver=r8188eu ip=192.168.100.119 maxpower=500mA multicast=yes speed=480Mbit/s wireless=IEEE 802.11bgn
    *-network
    詳細: イーサネット interface
    製品: Ethernet Connection (2) I219-V
    ベンダー: Intel Corporation
    物理ID: 1f.6
    バス情報: pci@0000:00:1f.6
    論理名: enp0s31f6
    バージョン: 31
    シリアル: d0:50:99:85:27:da
    容量: 1Gbit/s
    幅: 32 bits
    クロック: 33MHz
    性能: pm msi bus_master cap_list __________________ physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
    設定: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k firmware=0.8-4 latency=0 link=no multicast=yes port=twisted pair
    リソース: irq:125 メモリー:dff00000-dff1ffff

    posted by takatan at 13:44| 大阪 | linux | このブログの読者になる | 更新情報をチェックする

    2018年06月29日

    /var/lib/apt/listsの直下が肥大化するUbuntuの公式リポジトリとは?

    Ubuntuベースでディストリビューションを作成する時には、出来るだけ容量を減らしたいところです。肥大化し易いところとしては、/var/lib/apt/listsがあります。この直下にあるファイルは、sudo apt updateで更新したAPTで管理しているリポジトリのパッケージリストが保管されるところです。つまり、ここの容量を抑えるにはリポジトリの数を減らすのが有効です。
    公式リポジトリの中でも肥大化し易いのがUniverseというコンポーネントに所属するものであり、ここだけで何万パッケージというソフトウェアがあります。Linuxとしてだけで使うのであれば、mainとRestrictedのコンポーネントを有効にしておけば良いでしょう。WineなどはUniverseに登録されています。

    https://ja.wikipedia.org/wiki/Ubuntu

    ◇/var/lib/apt/listsの肥大化を起こすコンポーネントのPPA

    deb http://jp.archive.ubuntu.com/ubuntu/ bionic universe


    /etc/apt/sources.listをこれらをコメントアウトして、sudo apt-get updateを行えば、/var/lib/apt/listsの容量を大幅に削減可能です。
    posted by takatan at 22:11| 大阪 ☔| linux | このブログの読者になる | 更新情報をチェックする