• タグ別アーカイブ: linux
  • opensuse leap 42.1でVMware Playerの3Dアクセラレーションが有効にならない

    nvidia-gfxG04.conf更新後に、ldconfigを実行する手順を追加しました。(2016/9/23)

    
    

    今、opensuse linux(leap 42.1)を常用OSとして利用しているのですが、その上でVMware Workstation 12 Playerを使って、Windowsも動かしています。
    しかし起動当初から、「No 3D support is available from the host.」と表示され、どうも3Dアクセラレーションが効いていないようでした。
    たしかに動作がカクつく…とは思っていました。

    ちょっと時間も出来たので、重い腰を上げ、いっちょ解決してみようと思い試行錯誤した記録です。

    続きを読む 投稿 ID 1381


  • WeeChatで~(全角チルダ/波ダッシュ)を入力したい(iso-2022-jpなIRCサーバ環境)

    私はWeeChatを使ってIRCを使っています。
    このときに、「~」を入力するとLimeChat等の他のクライアントでは文字化けしてしまうという問題がありました。

    どうにかこれを改善したいと思って試行錯誤した結果、改善できたのでメモしておきます。

    環境

    • WeeChatを起動させているサーバ
      • CentOS7
        • WeeChat 1.4(但し0.x台の頃から変わらない事象です)
        • screen 4.01.00
      • Linuxの$LANGは、ja_JP.UTF-8
      • WeeChatで接続しているチャンネルの文字コードは、iso-2022-jp
      • /set charset.default.decode = “iso-2022-jp”
      • /set charset.default.encode = “iso-2022-jp”
    • WeeChatを表示させているクライアント
      • Windows7
      • cygwin
      • ssh接続でscreenを表示してその上のWeeChatを使用

    クライアントからWeeChatとLimeChat(Windows上で動作するIRCクライアント)を操作し、同じサーバ、同じチャンネルにJOINします。

    問題の事象

    WeeChat上で「~」を入力すると、LimeChatから見ると文字化けします。
    LimeChat上で「~」を入力しても、WeeChatでは文字化けしません。
    ですが、2つの波ダッシュは、WeeChat上では別の文字(波の向きが違う)で表示されます。

    • WeeChatで入力した「~」:wavedash_wee
    • LimeChatで入力した「~」をWeeChatで表示:wavedash_lime

    この事から、Windowsで使われる「~」がLinuxでは扱いが異なっているのではないかと想像できます。
    これについては参考ページが以下の様にいくつかあります。

    解決

    要はWeeChatから入力する「~」をwavedash_weeからwavedash_limeに変換してやればいいわけです。
    そのため、送信時にテキスト置換できるようなスクリプトがないかを調べたところ、「text_replace.py」というスクリプトがあったのでこれを使ってみました。

    以下はWeeChat上での操作です。

    
    /script install text_replace.py
    /set plugins.var.python.text_replace.replacement_pairs "~=~"
    
    

    plugins.var.python.text_replace.replacement_pairsには、=区切りで変換前と変換後のテキストを指定します。

    “~=~”の部分は実際には以下の様に指定します。

    • 左側:普通にWeeChatに入力した「~」
    • 右側:LimeChatで入力した「~」をWeeChatで表示したwavedash_limeをコピーアンドペースト
    • こんな感じ:”wavedash_wee=wavedash_lime

    これで、普通にWeeChatで入力したら文字化けする「~」を、LimeChatで見ても文字化けしない「~」に変換して送信することが出来るようになりました。


  • rsyncでドットファイルだけ同期する

    rsyncの–includeオプションと–excludeオプションを使って実現出来ます。
    –includeと–excludeは記載順で評価順が変わるので注意です。

    rsync -av --include '.**' --exclude '**' /home/username/ remote:~/backup/
    

    みたいな感じです。

    簡単なパラメータの説明をしておくと:

    • –include ‘.**’
      ドットから始まるファイルとディレクトリ以下のファイルを含めます。
    • –exclude ‘**’
      全てのファイルを除外します。

    ちなみに、除外したいドットファイルなどがある場合は、–include ‘.**’の前に記載をする必要があります。


  • CentOS6.4とPX-W3PEで作る録画サーバ

    PLEXから発売されている、地上波*2+BS/CS*2のチューナーを内蔵したテレビチューナーPX-W3PEとLinuxを使ってテレビ録画サーバを構築します。
    これまでPX-W3PEはLinuxドライバが公開されておらずWindowsで使うほかありませんでしたが、2012年9月にはLinuxドライバが公開されており容易に利用出来るようになりました。
    ところが割と最近の公開であるせいか、Linuxで動作させている実例が少ないため、ここで記録しようと思います。

    続きを読む 投稿 ID 1381


  • logrotateスクリプトの調査

    Linuxでログファイルを一定期間ごとで切り出し、世代管理を行ってくれるlogrotate。
    logrotateでは、単にログをローテションするだけではなく、ローテションの際にスクリプトを動作させることが可能となっています。
    それらのスクリプトは、/etc/logrotate.confや、インクルードされる/etc/logrotate.d/hogehogeといったファイルに定義します。

    スクリプトを動作させることが可能なタイミングは以下の4つあります。

    • firstaction
      ログローテーションプロセスの1番最初
    • prerotate
      ログファイルをローテーションする前
    • postrotate
      ログファイルをローテションした後
    • lastaction
      ログローテーションプロセスの1番最後

    # 正直、firstactionとprerotate、postrotateとlastactionの違いはあまりよく分かっていません。

    これらのタイミングで、何らかの処理を行うことが可能ですが、その処理の中にはログファイル自身を扱う処理も行えます。
    ログファイル自身を扱うためには、その時点でのログファイルの状態(圧縮されたのか、ローテションされただけなのか、まだ何もされていないのか)などが気になります。
    調べては見ましたが、特にまとまった情報も無いようですし、OSやlogrotatedのバージョンによっても挙動が変化するそうなので、今回は自分が使う環境で色々調査してみました。

    続きを読む 投稿 ID 1381


  • hosts.denyで制限かけたのに、コネクションが張れてしまう

    Linuxなどで、sshdやportmapなどの簡単なアクセス制御をかけるのによく用いられる、hosts_acecss(/etc/hosts.deny, /etc/hosts.allow)。
    今回は、hosts.denyにてアクセス制限をかけたのに、コネクションが張れてしまうということについて。

    続きを読む 投稿 ID 1381


  • logrotateでdateextとdelaycompressを手動で実現する方法

    logrotateでは定期的にログをローテーションしてくれます。
    ローテーションのオプションにもいくつかあって、今回は以下の2つについて取り上げます。

    • dateext:ファイル名末尾に日付をつける
    • delaycompress:1つ前のファイル以外は圧縮する

    続きを読む 投稿 ID 1381