2017年3月18日土曜日

Wineの文字化けを直す


日本語が文字化けするのは少なくとも2種類の原因があり、
一つはWine のロケール設定が英語などになっているせい。
もう一つはフォントの設定。


よってロケールを日本語にするにはターミナルから以下のように起動すれば良い。
LANG="ja_JP.UTF-8" wine アプリ名.exe
ショートカットなら
env LANG="ja_JP.UTF-8" wine アプリ名.exe
 これで内部でロケール""(既定のロケール)とWin32 APIのW版(ワイド文字)を使っているアプリケーションの文字化けが治った。

regedit コマンドを使えばこれによって何が変わるかわかる。
HKEY_CURRENT_USER\Control Panel\International\ の Locale や LC_CTYPE の値が英語の 00000409 から日本語の 00000411 へ変更されているのがわかる。

そしてフォントの設定はwinetricks fakejapaneseを導入するか、winetricks takaoでtakaoフォントを導入して
regedit で HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements\MS UI Gothic 等 の有名所のフォントを TakaoPGothic などで代替してやるだけでよい。

2016年12月28日水曜日

Linux用のメジャーなフリーソフト(大半はWindowsでも利用可)


ブラウザ
Firefox
Chromium (Chrome)

オフィススイート
LibreOffice (OpenOfficeから派生した現在の主流)
 LibreOffice Writer (文章作成)
 LibreOffice Calc (表計算)
 LibreOffice Draw (図作成)
 LibreOffice Impress (プレゼン)
 LibreOffice Base (データベース)

お絵かき
Gimp
Krita (CMYK対応)

写真現像と管理
Darktable
digiKam

3DCG
Blender

動画ノンリニア編集
Kdenlive

動画加工、合成
Jahshaka


2016年10月15日土曜日

Ubuntu 16.10の感想

16.04からdo-release-upgradeで確かめたら16.10の更新が来ていたのでGUIのアップデータから更新してみました。

結果日本語が入力できなくなりました。fcitx+mozcなんですがいちいち端末からfcitxと入力する必要があります。 このバグが治るまでは16.04LTSに留まるのが無難ですね。もう更新してしまったので当面の間はxubuntu-desktopを入れて凌ぐことにしました。

動作の面では予想通りノーマルな16.04から比べればキビキビと高速化しているので確実に導入するメリットがあります。
他のバグとしてはUnity7でフォントがすこし小さく表示されています。
あとxprofileの設定を休止状態から復帰した時に読み込んでくれません。
一部アプリはクラッシュして起動できなかったり、不安定なものもあります。 自分でビルドしたアプリはダイナミックリンクなどしていると再ビルドの必要があるかもしれません。



2016年9月26日月曜日

Ubuntu16.04 ログイン時の音を消す方法

以下のファイルを編集して
/usr/share/glib-2.0/schemas/50_unity-greeter.gschema.override

以下の二行を追加する。

[com.canonical.unity-greeter]
play-ready-sound = false


その後以下のコマンドを実行する。
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/


参考元には簡単なコマンドがある
http://askubuntu.com/questions/24946/how-do-i-disable-the-drum-beat-sound-on-the-login-screen

2016年8月27日土曜日

最新のMesaでUbuntuを更に快適に

Phoronixの記事に最新のMesaが紹介されていたので試してみました。

padokaさんが配布されており簡単に試すことができます。
sudo add-apt-repository ppa:paulo-miguel-dias/mesa
sudo apt-get update
これで更新が自動的に入ります。

さて感想ですが明らかに体感速度が向上しておりかなりおすすめです。素晴らしいです。

またこれとは別にKernel(intelのツリー)も最新版を導入しているのですがカーネル単体だと速度変化は体感できていません。

追記:あまり安定しておらずおすすめしかねます。

2016年8月14日日曜日

Linuxの常識 (Windowsとの違い)


/がルートフォルダ。 C:\みたいな感じ。
Linuxインストール時には/とswap用のパーティションを個別に作るのが普通
メモリが潤沢にあるならswapはなくても良い。
ファイルシステムはEXT4が標準的。Ubuntuなら後からNTFSも扱えるため移行も楽。
パスの区切りが/。
ディスクなどのデバイス自体は /dev/sdaや/dev/sdbなど。HDD、SSD、USBメモリなど
パーティションで区切られた部分は/dev/sda1や/dev/sda2など。C:\やD:\などに相当
パーティションを使用するときはマウントという操作を行う必要がある。
例えば/dev/sdb1を/media/memorystickなどに結びつける。GUIのファイラーを使えば自動でマウントされるのが普通。

ユーザーのフォルダは/home/ユーザー名/。 C:\Users\ユーザー名\に相当
このフォルダは~で表される。~/Documentsは /home/ユーザー名/Documentsに等しい。
隠しフォルダは . で始まる名前。
アプリケーションの設定ファイルなどは ~/.アプリ名などにあることが多い。
/ フォルダなどのファイルを変更するには管理者権限が必要なのでGUIファイラーも管理者権限で起動する必要がある。


アプリケーションの設定は メニューの編集(Edit) > 設定(Preferences)にあるのが普通。
アプリケーションのファイルの拡張子は付いていないことが普通。 firefoxがfirefox.exeに相当
テキストファイルもREADMEなど拡張子が付いていないことが多い。
アプリによってはマウスの中クリックがコピペに割り当てられていることがある。

Windowsのコマンドプロンプトに相当するのが端末(Terminal)でよく使うことになる。
Terminalの中身がBashと呼ばれるもの。
Terminalなどはコピーが Ctrl+Shift+C で貼り付けが Ctrl+Shift+V に割り当てられている。
Ctrl+Cは実行中のプログラムへ停止信号を送るのに使われる。
Ctrl+Rで過去のコマンドの履歴を検索できる。
Ctrl+Uでキャレットより前のコマンドを削除
Ctrl+Kでキャレットより後のコマンドを削除

コマンドには管理者権限が必要なものがあるので必要に応じてsudoを使う。
Bashのコマンドをまとめたスクリプトファイルの拡張子は.shが普通。
スクリプトファイルを実行するにはまず権限を付与することが必要になる。 chmod +x スクリプト
そして実行する際は./スクリプト.shなどとして ./ でカレントフォルダのファイルであることを明示する必要がある。
Linuxの文字コードはUTF-8が普通。昔はEUC-JPが普通だった。
改行はLFのみが普通。

アプリケーションは大量にパッケージ化されており、Windowsのように手動でダウンロード、解凍、インストールすると言った手間は普通いらない。
インストールはUbuntu系ならapt search アプリ名 で正式なパッケージ名を検索してから
sudo apt install パッケージ名 でインストールできる。
UbuntuのUbuntu SoftwareからGUIでメジャーなアプリをインストールすることもできる。

以下プログラマ向けの話
aptなどから導入したライブラリなどは /usr/include にヘッダファイル、 /usr/lib などにライブラリファイルが導入されることが多く、自分でビルドしてインストールされたものは /usr/local/include 、 /usr/local/lib などに導入される場合が多い。

2016年7月1日金曜日

Ubuntu+PulseAudioで音量にリミッターを掛ける

背景
日頃音量が小さいアプリに合わせてマスターボリュームも大きくなりがちになります。そこに音量が大きいアプリが最大音量で鳴れば耳を痛めてしまいます。そこで出力されるマスターボリュームにリミッターを掛けることにします。

方針
PulseAudioにリミッターのプラグインを読み込ませます。リミッターにはswh-plugins内のfastLookaheadLimiterを使用します。プラグインの規格はLADSPAです。

まずはswhプラグインを導入し
sudo apt install swh-plugins

ファイル ~/.pulse/default.pa を作成し以下のような内容にします。
.include /etc/pulse/default.pa

load-module module-ladspa-sink sink_name=limiter label=fastLookaheadLimiter  plugin=fast_lookahead_limiter_1913 control=0,-15,0.5
set-default-sink limiter

pluginはインストールされたsoファイルの名前です。
labelはそのファイル内で読み込むプラグインの名前です。
sink_nameは好きな名前をつけましょう。
controlの最初の引数は事前に音量を上げ下げするパラメータらしいですが0でいいでしょう。
次の引数がリミッターです。-15dBを設定してみました。
3番めの引数が音量を元に戻すまでの時間sです。長めでも大丈夫でしょう。0.01~2s

結果
きちんと動作しました。しかし音量変更時にノイズが乗ってしまいます。
このプラグインは5msの遅延が入るらしいですが体感できませんでした。

その他
default.paに記述しなくてもpacmdで直接試すことができます。
パラメータの範囲は直接ソースを見たほうが早いです リミッターは 0 ~ -20dBの範囲です。

https://gist.github.com/ion1/5890413
https://github.com/LMMS/lmms/blob/master/plugins/LadspaEffect/swh/fast_lookahead_limiter_1913.c
http://plugin.org.uk/ladspa-swh/docs/ladspa-swh.html#tth_sEc2.39

2020/10月頃から起動時にリミッターが読み込まれなくなりました。今は手動で pulseaudio -kD して読み込んでいる状態です。 

2022年 現在はxubuntuのSettings Session and Startup に pulseaudio -kD を登録してリセットしています。

新しいUbuntuは PulseAudio ではなく PipeWire を使うようになっているため EasyEffects のコンプレッサーを使うようにしました。こちらのほうがかんたんです 。