Kubuntu

2011年7月13日 (水)

Ubuntu 11.04 日経Linux P.22の掲示板が動かない方へ

日経Linux 2011年8月号の22ページに、「掲示板やWikiを設置する」 という記事があるが、若干説明不足であり、このままではクリーンインストールされた Ubuntu11.04やKubuntu11.04では動かないと思われる。よって、以下に修正方法を示した。

これだけで動く!

インストールされている掲示板のcgiスクリプトは1行めが[#!/usr/local/bin/perl]となっている。
つまり、/usr/local/bin/にperlがあることが前提となっている。
しかし、Ubuntu 11.04 日本語Remix版やKubuntuで確認したところ、perlは/usr/binにあり、/usr/local/binには存在しない。
よって、/usr/local/binにperlのシンボリックリンクを作成するのが一番簡単な解決となる。

$ cd /usr/local/bin

$ sudo ln -s /usr/bin/perl

これでApache2とepadをインストールしたUbuntu上でWebブラウザ(FireFox等)を起動して、URL欄に以下を入力する。

http://localhost/cgi-bin/epad/epad.cgi?mode=check

これで、22ページ右中央上部に表示されている「ログファイルパス:OK」等の画面が出れば掲示板の稼働が確認できる。

記述ミス

いくつか記述ミスがあって、混乱している方もいるのではないかと考える。当方が推測して理解した内容を以下に示す。

p.22  左側 下から10行目($は入力しません)

$ cd /usr/lib/cgi/epad $ cd /usr/lib/cgi-bin/epad

p.22 左側 下から4行め($は入力しません)

$ cd /var/www/epad  $ cd /usr/lib/cgi-bin/epad

p.22 右側 「写真1 起動確認」の下の文章

http://localhost/bbs/epad/epad.cgi?mode=check http://localhost/cgi-bin/epad/epad.cgi?mode=check

さらに少し試してみた

Apache2でCGIを動かすということで、いくつかのサイトをチェックしたが、「UbuntuではApache2はデフォルトではCGIは動かない」 という記述が何か所かで見られた。
しかし、デフォルトの設定を見ると、ScriptAliasの設定があり、/user/lib/cgi-bin/の設定にも「+ExecCGI」 の記述があったので、デフォルトで動きそうだなと思いながら今回の掲示板の設定を行ってみた。結果は予想通りデフォルトの設定のままApache2で CGIが動いた。 ところで、ScriptAliasの設定によるCGIの設定は、ScriptAliasで指定された(/usr/lib/cgi-bin/)ディレクトリ においては全てのファイルがCGIスクリプト(プログラム)とみなされるということなので、試しにepad.cgiをepac.cigとしてコピーして、 これをブラウザURL欄で指定してみると、cgiスクリプトとして、まったく同じ結果となった。
また、この掲示板で投稿すると、各掲示の投稿元を示すアイコンが表示されるはずであるが、これが表示されない。イメージファイルが/cgi-bin/以下 のディレクトリにあり、cgiファイルとみなされている可能性もある。(定かでは無い。)
Bbs01
そこで、CGIの設定をScriptAliasの設定からAddHandlerの設定に変更して試してみた。これで拡張子によってCGIスクリプトとして みなされる。
変更内容は以下。

/etc/apache2/sites-available/default

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ Alias /cgi-bin/ /usr/lib/cgi-bin/

/etc/apache2/mods-available/mime.conf

#AddHandler cgi-script .cgi AddHandler cgi-script .cgi .pl

$ sudo /etc/init.d/apache2 restart

これで以下のようにアイコンも表示されるようになった。
Bbs02

2011年7月 8日 (金)

Ubuntu/Kubuntu 11.04 日本語manを使う

LinuxもGUIが一般的になり、「man」といってもピンとこない方も多いのかもしれません。
manページ、あるいはUnixマニュアルと呼ばれているもので、ターミナル(端末)のコマンドラインで、

man コマンド/プログラム名称

とすると、マニュアルが表示されるというのが一般的な使い方でしょうか。

コマンド --helpで示される使い方よりは詳細に書かれているという感じですが、ときには同じものが表示されることもありますね。

「いつまで経ってもリンクがうまく作れない」、「findでの検索方法がさっぱりわからない」などという私は、良く使います。これが日本語か英語かというのは、結構作業にかかる時間に影響します。

Ubuntu 日本語Remix CDからインストールすると、てっきり日本語manがインストールされると思い込んでいて、英語で表示されていても「翻訳されていない部分かな」と思い込んでいました。しかし、基本的なコマンドも英語であることに気づいて、Ubuntuソフトウェアセンターを使いmanpageで検索してみると、各国語のパッケージが出てきますが、manpages-jaという名称がついたパッケージがインストールされていないことがわかりました。
KubuntuのKPackageKitでも同じ状況でした。

そこで日本語manページが利用できるように、Ubuntu/Kubuntuともにmanpages-jaを、インストールいたしました。

Ubuntu/Kubuntu 11.04 DualブートでMS-Windowsのフォントを使う

メインで使っているPCにもUbuntuをインストールして、はや数週間が経ちました。
もうほとんどWindows7は起動しなくなりました。ただ、ハードディスクの7割程度はWindows7の領域です。
Windows7をまったく使わないというわけではありませんし、Ubuntu起動時にホームディレクトリのwin7というマウントポイントにマウントしていますので、従来利用していた文書ファイルなどは、そのまま利用できております。しかし、せっかくある資源ですから、できるだけ有効に利用したいと考えました。

UbuntuはDebianがPotatoやらWoodyのころに比べると、格段にデスクトップも美しく、フォントの改善には素晴らしいものがあると感じ ています。しかし、Seamonkey Composerでブログ用のページを作成しているときなどに、ときどき、「Windowsの方がなめらかかも」のように感じることもあります。

Windows7とUbuntuのDualブートマシンですし、同じハードディスクのパーティションを分けて両OSをインストールしてあるのですから、 Windows7のフォントもUbuntuで利用することにしました。

個々のユーザが追加のフォントを利用するのであれば、ホームディレクトリに.fontsというディレクトリを作成して、そこにフォントをコピーすれば良いとの解説が多数見つかりました。解説しているどこのサイトでも、「著作権上の問題があるかもしれない」とディスクレーマーが載っていました。自己責任で行います。
でも、コピーすると危険性がアップしそうな感じもあるので、ホームディレクトリにシンボリックリンクを貼ってみることにしました。(これなら大丈夫という保証はありません。同じことを行うのは、あくまでも自己責任でお願いいたします。)

windows7のパーティションは/home/kitatanuki/win7にマウントしてあるので、/home/kitatanuki/win7/Windows/Fontsがwindowsフォンとの存在しているフォルダ(ディレクトリ)です。
私は、NautilusをUbuntu Tweakで拡張してあるので、下の図のようにFontsディレクトリを選択して右クリックし、「スクリプト」から「Homeにリンク」をクリックしホー ムディレクトリにFontsという名前のシンボリックリンクを作り、このリンクの名称を「.fonts」に変更しました。

Font01

ターミナル(端末)のコマンドラインからコマンドでリンクをするなら、まずcdで自分のホームディレクトリに移動し

ln -s ./win7/Windows/Fonts ./.fonts (← ./win7/以下の部分は自分の環境に合わせてください。)

で良いと思います。

この後、LibreOffice Writerで次の画像ように、フォントの違いを比べておりました。

Font02

ちなみにサブPCはKubuntuにWindows VistaDualブートですが、まったく同じ考え方でフォントが使えるようになりました。

lnについて、manを使ったのですが、日本語ではありませんでした。大昔に使っていたVineとかDebianでも日本語だったような記憶がありましたので、 少し不思議な感じがします。この件とNautilusの拡張については別途に記事としておきたいと思います。

2011年7月 7日 (木)

Kubuntu 11.04 desktopへのApache2のインストール

そろそろ本ブログの開始の趣旨に則って、Ubuntuによるサーバ稼働のテストを開始したいと考えはじめた。
以前、Vine LinuxやDebian(woody)でサーバを運用していたときは、テストの段階から友人と掲示板で情報交換を行っていた。
DNS、smtp、pop、ftp、http等、結構いろいろテストしていて、それなりに手順がまとまっていた。その後、本番のサーバを作るにあたって、 これを参考にして順次サーバを稼働させた。
幸い、一ユーザのホームディレクトリ(/home/*/public_html)にて開設していたサイトであったので、まるごとバックアップもとってある。
せっかくなので、サブPC(Chikyu)のKubuntuにApacheをインストールして、その掲示板を参照しながら、メインPCでサーバ設定ができるようにしたいと思い、実行した。

目的

Kubuntu 11.04 desktopにApache2をインストールし、以前の掲示板CGIの記事が読めるようにする。

Apache2の設定について

  1. LAN内部での参照であるので、[http://IPアドレス/~ユーザ名/]で指定してWebブラウザで参照できるようにする。
  2. cgiは[http://IPアドレス/~ユーザ名/cgi-bin/test.cgi]のようにして参照できるようにする。
  3. cgiのプログラムはcgiかplを拡張子とする。

大まかな手順

Apache1.*のころとは、設定ファイルの作り方が大きく変化しているようで、非常にとまどった。幸い今回はユーザディレクトリの設定のみであるため、次の手順で行うこととした。

  1. Apache2のインストール
  2. Apache2の稼働確認
  3. 上記「Apache2の設定について」の内容の設定(設定ファイルへの修正)
  4. 設定ファイルを反映させるシンボリックリンクの作成(a2enmodの利用)
  5. 設定のテストによる確認

Apache2のインストールと設定


Apache2のインストール

KubuntuのKPackageKitより、apacheで検索し、apache2とapache2-docをインストールする。
apache2-docはインストール指定しなくても問題ないはずであるが、インストールしておくとWebブラウザでApache2のドキュメントが読めるようになり便利。

Apache2の稼働確認

http://192.168.13.13/ (←LAN内部のPCからWebブラウザ等でIPアドレス指定を直接指定して接続する。

これで、Webブラウザに「It works!」 と表示されればApache2が稼働していると確認できる。

設定ファイルの修正

前節で決めた今回の設定について、二つの設定ファイルを変更する。
設定ファイルは、二つとも/etc/apache2/mods-availableに存在している。
ひとつめは、mime.conf。ふたつめは、userdir.conf。
修正するまえに、両ファイルのバックアップを作成しておく。

mime.confの修正

以下の行を検索して修正する。

#AddHandler cgi-script .cgi → AddHandler cgi-script .cgi .pl

上のように、文頭の[#]を削除し、最後に[ .pl ]を加える。

userdir.confの修正

以下の内容とする。

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root
         
         <Directory /home/*/public_html>
                AllowOverride none
                Options MultiViews SymLinksIfOwnerMatch
                <Limit GET POST OPTIONS>
                         Order allow,deny
                         Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                         Order deny,allow
                         Deny from all
                </LimitExcept>
         </Directory>

         <Directory /home/*/public_html/cgi-bin>
                Options +ExecCGI
         </Directory>

</IfModule>

設定ファイルを反映させるシンボリックリンクの作成

/etc/apache2ディレクトリの下に、mods-availableとmods-enabledというディレクトリがあるが、mods- availableにあるmoduleの設定がmods-enabledにシンボリックリンクを作成することでapache2本体に反映される(と推測し た。) 以前のLinuxの起動プロセスで/etc/init.dにあるファイルのシンボリックリンクを/etc/rc*.dディレクトリに置いてランレベルごと にデーモンの起動管理を行っていたのを思い出した。似ている感じである。
手処理でコマンドを叩いても構わないと思うが、設定をするa2enmodと設定をはずすa2dismodというコマンドがあるので、これを利用する。
なお、/etc/apache2/mods-enabledを見てもらうとわかるが、mimeについては、すでに存在しているのでuserdirのみの処理となる。

kitatanuki@chikyu:/etc/apache2/mods-available$ sudo a2enmod
Your choices are: actions alias asis auth_basic auth_digest authn_alias authn_anon authn_dbd authn_dbm authn_default authn_file authnz_ldap authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cern_meta cgi cgid charset_lite dav dav_fs dav_lock dbd deflate dir disk_cache dump_io env expires ext_filter file_cache filter headers ident imagemap include info ldap log_forensic mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http proxy_scgi reqtimeout rewrite setenvif speling ssl status substitute suexec unique_id userdir usertrack version vhost_alias
Which module(s) do you want to enable (wildcards ok)?
userdir
Enabling module userdir.
Run '/etc/init.d/apache2 restart' to activate new configuration!
kitatanuki@chikyu:/etc/apache2/mods-available$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2                                              

(緑の太字が実際の入力)

設定のテストによる確認

テスト用のhtmlファイルindex.htmlという名称で作成し、/home/kitatanuki/public_html/に保存する。ま たテスト用のcgiファイルをtest.cgiという名称で作成し、/home/kitatanuki/public_html/cgi-bin/に保存する。test.cgiはパーミッションを755として実行可能としておく。

htmlについては、[ http://192.168.13.13/~kitatanuki/]で表示されることを確認。cgiについても[ http://192.168.13.13/~kitatanuki/cgi-bin/test.cgi]で結果が表示されることを確認できた。

補足

設定の狙いとしては、ホームディレクトリの下のpublic_html/cgi-binでしかcgiが動かず、そしてcgiとpl以外の拡張子ではそのディレクトリでもcgiとして認識されないということもあるが、今回はそこまではテストしていない。
apacheは当初、設定ファイルが3つあって、それが煩雑だということでhttpd.confひとつにまとめられるようになったと認識していたので、 apache2の設定の複雑さには、非常に驚いた。
インターネットで設定例を見ても、いろいろなやり方があり、上記の内容にたどりつくのには、かなりの時間を要した。
いわば、モジュールの設定とインストールが組み合わせになっているということなのかもしれないが、なかなか理解しづらい。

2011年7月 1日 (金)

Kubuntu 11.04 Kmailに@niftyのメールアドレスを設定

Kmailに@niftyのメールアドレスを設定する

Kubuntuの標準メーラーはKDEのKmail。Kmailにも@niftyのメールアドレスを設定してみました。
当初はメニューの「設定」から設定を行っていたのですが、設定完了後にメニューの「ツール」の中に「アカウント設定ウィザード」という項目を見つけ、メー ルアドレスを一度削除して試してみたところ、大変簡単に設定できました。
さすがはKDEという感じでしたので、この「アカウント設定ウィザード」を利用した設定方法を説明します。

Kmailは、Kubuntuのメニューの「アプリケーション」ー「インターネット」の中に「メールクライアント」という名称で登録されています。
起動して、Kmailの中の「ツール」メニューをクリックし、ドロップダウンメニューの中から「アカウント設定ウィザード」をクリックします。

Kmail00

「アカウント設定ウィザード」ウインドウが開きますので、「新しい個人情報を作成する」にチェックを入れて、「次へ」ボタンをクリックします。

Kmail01

「アカウントの種類」ウインドウが開きますので、「POP3」を選択して「次へ」ボタンをクリックします。

Kmail02

「アカウント情報」ウインドウが開きます。
「実名」「メールアドレス」「組織」を入力します。そして「次へ」ボタンをクリックします。

Kmail02_5

「ログイン情報」ウインドウが開きますので、

「ログイン名」に、 @niftyの「ログインID」を入力し、
パスワードを入力し、「次へ」ボタンをクリックします。

Kmail03

「サーバ情報ウインドウ」が開きますので、
「受信サーバ」に「pop.nifty.com」、
「送信サーバ」に「smtp.nifty.com」
と入力します。
ローカル配信を使う」については、今この設定を行おうとしている方はチェックをつける必要がない場合がほとんどのはずです。
もしかしたら、@niftyの社員の方はチェックをつけるのかもしれません。
これで「完了」ボタンをクリックすれば、設定は終了です。

Kmail04

 

「完了」ボタンをクリックすると、Kmailが@niftyのサーバをチェックして、認証方法や暗号化などを適切に設定し、メールの送受信が可能となりま す。

so-netの設定

so-netについても試してみましたが、こちらも簡単に接続が可能でした。
so-netについては

「アカウントの種類」   =>「POP3」
「ログイン名」     =>「so-netのメールアドレス」
「受信サーバ」   =>「pop.so-net.ne.jp」
「送信サーバ」           =>「mail.so-net.ne.jp」

で設定ができました。

2011年6月28日 (火)

Ubuntu/Kubuntu 11.04 ユーザの追加と権限の変更

アカウントをGUIで追加

はじめに

システムのユーザ管理のGUIのツールに関しては、Ubuntuにはメニュー(Dash)の「システム」に「ユーザとグループ」が、Kubuntuにはメニューの「設定」から「システム設定(KDEシステム設定)」に「ユーザ管理」がある。
両者とも目的は同じであるが、微妙に動きが異なっているところもあり、動作や設定方法を調べてみた。

Kubuntuについて

ユーザの追加

メニューの「お気に入り」の「システム設定」でも、「アプリケーション」の「設定」から「システム設定」でも、どちらでもよいが、クリックすると次の「KDEシステム設定」のウインドウが開く。「システム管理」の項目に「ユーザ管理」があるので、これをクリックすると、KdeSudoのパスワードを求めるウインドウが開く。

Kadduser01_2

使用しているアカウントのパスワードを入力すると、「ユーザ管理」のウインドウが表示される。

Kadduser02

この「ユーザ管理」のウインドウで「新規」ボタンをクリックすると、「New User Account」ウインドウが表示される。

Kadduser03

「詳細」タブで「Login Name」を入力し、Real Nameは必須ではないが必要な場合は入力し、他に変更する必要のある項目があれば変更する。
ここではOKボタンは押さず、「Password/Security」タブをクリックして、パスワードの入力のウインドウを表示させる。

Kadduser04

以下のウインドウでパスワードを設定して、OKボタンをクリックすれば、新規のユーザアカウントを追加できる。
なお、テストしていないので定かではないが、Valid Untilはアカウントの有効期限を、Password Agingはパスワードの有効期限を設定する項目であろう。パスワードの有効期限(Password Aging)は、「新しいパスワードを要求する日数」「有効期限切れ警告をする有効期限前の日数」「パスワードの有効期限切れ後利用不能とする日数」「パスワードを変更できるまでの最低日数」という内容であろうが、最後の二つについては、正確な内容を調べることができなかった。

Kadduser05


Kubuntuでのユーザアカウントの追加の流れは以上であるが、この状態でログアウトして新規のユーザアカウントでログインしようとすると、パスワードの変更を求められる。これはhttps://wiki.kubuntu.org/NattyNarwhal/ReleaseNotes/ja#Kubuntuによれば、以下のとおり既知の障害とのことである。私の場合は、パスワードの入力が受け付けられず、やむなく「Alt+Ctrl+F2」でコンソール画面を出して、これで新規のユーザアカウントのパスワード変更を行った

Kubuntuのシステム設定で新規ユーザーを作成後、最初にログインする際にパスワードを変更するよう促されます。これは新規に入力したパスワードが反映されないためです。この問題を避けるため、新規ユーザーがログインする前にXサーバを再起動する必要があります。ログアウト後、KDM画面の赤いログアウトボタンをクリックし、"Xサーバの再起動"をクリックしてください。いったんKDMログイン画面に戻り、新規ユーザーが通常どおりログインできるようになります。(641712)

以上で追加されるユーザアカウントは、いわゆる「一般」のユーザアカウントであり、sudoはできない。
例えば、/var/log/auth.logの内容を調べようとすると、以下の画面のようにsudoは使用できない。

Kadduser06

ユーザの権限の変更

sudoができるようにするためには、sudoの設定を/etc/sudoersで確認する。

(/etc/sudoers)

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

#includedir /etc/sudoers.d

上記より、sudoグループのメンバーとすれば、sudoが可能であるので、「ユーザ管理」ウインドウより、今度は「新規」ではなく、先ほど作ったユーザアカウントを選択し、「編集」ボタンをクリックする。すると「Modifying User Account (ユーザ名)」というウインドウが表示される。

Kadduser07

「Privileges and Groups」タブをクリックして、Groupsで「sudo」にチェックを入れ、OKボタンをクリックする。
これでsudoが可能となる。先ほど出来なかった作業でテストし、sudoが出来ることを確認した。

Kadduser11

この設定のユーザアカウントであれば、sudoやgksudo/kdesudo可能な処理は行える。
例えば、「システム設定」から「ユーザ管理」をクリックした後にパスワードを要求されたのは、kdesudoによるものであり、対応可能である。

しかし、例えばパッケージのアップデート(KubuntuではKPackageKit。UbuntuではSynapticパッケージマネージャー等)は行えない。
実行してみると、次のように管理者とそのパスワードを求める画面が表示されるが、sudoをできるようにしたユーザは表示されない。

Kadduser14


これを行うには、先ほどの/etc/sudoersに書かれていたが、 root privilegesを与えるためにadminグループのメンバーにする必要がある。
先ほどと同様に「ユーザ管理」から権限を付与するアカウントを選択して「編集」ボタンをクリックして「Modifying User Account (ユーザ名)」ウインドウを表示させる。

Kadduser16_2

そして、「Privileges and Groups」タブを表示させ、左側のペインの「Privilleges」から「Administer the system」を選択するか、右側のペインの「Groups」から「admin」を選択するか、そのどちらかを行えば管理者権限が与えられて、パッケージのアップデートなども行えるようになる。以下のように認証画面でユーザ名が選択できるようになる。

Kadduser15

Ubuntuについて

ユーザの追加

Ubuntuではメニュー(Dash)画面の「システム」から「ユーザとグループ」をクリックすることにより、Kubuntuと同様のユーザアカウントの追加などが行える。

Gadduser01


「ユーザの設定」ウインドウで左下の「追加」ボタンをクリックすると「認証」のウインドウが表示される。

Gadduser02


「認証」ウインドウでパスワードを入力すると「新しいユーザの作成」ウインドウが表示される。ちなみにKubuntuではsudoできる権限でユーザアカウントの追加ができたが、Ubuntuでは「管理者権限」が必要となる違いがある。

Gadduser03


「新しいユーザの作成」ウインドウで、「名前」にユーザ氏名を、「ユーザ名」にユーザアカウントを入力する。「OK」ボタンをクリックすると「ユーザのパスワードの変更」ウインドウが表示される。

Gadduser04


「ユーザのパスワードの変更」ウインドウにてパスワードの入力と再入力を行う。Kubuntuのような有効期間を定めるようなパスワード管理の仕組みとはなっていない。

Gadduser05


ここまでの流れで一般のユーザアカウントが作成できる。Kubuntuのときと同様にsudoを実行してみる。ちなみにUbuntuでは/var/logはsudoしなくても参照できるので、/rootディレクトリのリスト表示を行った。やはり、このアカウントではsudoは利用できないことがわかる。

Gadduser06

ユーザの権限の変更

管理者権限を持ったユーザアカウントでメニュー(Dash)より「ユーザとグループ」をクリックし「ユーザの設定」ウインドウを表示し、権限を変更したいアカウントをクリックして選択し、「グループの管理」ボタンをクリックする。

Gadduser06_5

「認証」ウインドウでパスワードを入力すると、「グループの設定」ウインドウが表示される。ここで「sudo」を選択し、「プロパティ」ボタンをクリックすると、「’sudo’グループのプロパティ」ウインドウが表示される。

Gadduser07


「'sudo'グループのプロパティ」ウインドウでグループのメンバとしたいアカウントにチェックを入れ、「OK」ボタンをクリックする。

Gadduser08


これでsudoが可能となるので、先ほどできなかった作業でsudoができるようになったことを確認した。(ファイルやディレクトリが存在しなかったために何も表示されていない。)

Gadduser11

しかし、sudoグループに追加しただけでは、Kubuntuと同じように管理者権限は持たないため、Ubuntuではユーザアカウントの追加なども行えない。
これを可能とするためには、「ユーザの設定」ウインドウから「アカウントの種類」の「変更」をクリックし「ユーザ・アカウントの種類を変更」ウインドウで「管理者」を選択して「OK」ボタンをクリックすることで管理者権限を持たせることができる。

Gadduser12_5

また、「ユーザの設定」ウインドウの右下にある「高度な設定」をクリックして、「ユーザの権限」タブで「システムの管理者である」にチェックを入れることでも設定が可能であるし、

Gadduser13


他にも、先ほど用いた「グループの管理」を用いて、adminグループのメンバとすることでも同じく管理者の権限を与えることができる。

Gadduser15

2011年6月26日 (日)

Kubuntu 11.04 ターミナル(Konsole)の文字欠けに対処する

問題の内容

Kubuntuでcronのログを確認しようとしていて、Konsoleを起動してsyslogをcatした結果をパイプに通してgrepでcronを検索、つまり

~$cat /var/log/syslog | grep cron

としていました。でも、表示された結果はcronではなくて下のスクリーンショットのようにcrorに見えました。

Konsole00

cronで検索しているのですから、crorが出てくるのはいかにも不可思議です。最初は、cronの実態のプログラムがcrorというものでリンクしているのかなと調べようともしたのですが、grepの検索結果に赤い色がついているので、これは"cron"という単語がきちんと表示されずに、文字が欠けているのではないかと気づいた次第です。ためしにファイルマネージャーでsyslogをクリックして表示させ、cronで検索すると、きちんと表示されました。(ファイルマネージャー「dophin」がフィル表示に使っているのはKateというKDEのエディタです。)

googleで調べてみると、Kubuntu固有の問題ではなくて、KDEを利用した場合に共通に起こる問題のようでした。

対処方法

Konsoleの表示に利用しているフォントを変更することで文字欠けを修正することができます。

Konsoleのメニューから「設定」をクリック。

Konsole01

「プロファイルの設定」をクリックすると次の「プロファイルの管理」ウインドウが表示されますので
「プロファイルを編集」ボタンをクリックします。

Konsole02

「プロファイル”シェル”を編集」ウインドウが表示されます。プロファイルの名称によっては"シェル"の部分が異なるかもしれません。
このウインドウの「外観」タブをクリックすると以下のような表示となります。このウインドウの下部に「フォント」という項目がありますが、その右側にある「フォントを編集」ボタンをクリックします。

Konsole3_3


「フォントの選択」ウインドウが表示されますので、ここでフォントを「モノスペース」から「DejaVu Sans Mono」に変更します。

Konsole04_2

これで「OK」ボタンを各ウインドウでクリックしてKonsole画面に戻ると、文字欠けが次のように解消されています。

Konsole5

なお、「プロファイル”シェル”を編集」ウインドウの「外観」タブの表示で、一番下にある「太字のフォントは強い色調で表示する」をはずすという方法もgoogleの検索では出ておりました。試してみたところ、フォントを変更することなく、これでも文字欠けが解消できました。
また、メニューの「表示」から「フォントのサイズを小さく」を実行すると良いとの解決策もありましたが、これでは解消できませんでした。

Kubuntu 11.04 細かいイライラが続いています

本気でメインのPCにもUbuntuかKubuntuをインストールして、Windows7はゲームのためだけに起動することにしようと考え始めております。

実際、メインのPCが「激しい」ゲームをするためにも都合が良いように、ベストなポジションに存在しており、長くキーボードをたたき続けるためにも、いろいろな作業をUbuntu/Kubuntuで長時間行うためにも、メインのPCにUbuntu/Kubuntuをインストールすることは重要になってまいります。

とりあえず、まずはVirtualBoxからと試してみました。共有フォルダを自動マウントに設定しました。確かに自動で/mediaの下にマウントされていましたが、読み出すことさえできません。何故?

VirtualBoxは、もっぱらスクリーンショット用にしようかなと考えてHDDを買いにお出かけ。(ミニタワーなので熱暴走が怖いのですが・・・)商品券で買おうとしたら使えませんでした。PCデポは使えるのに。店の選択を誤りました。

そろそろ、clamscanのcron.dailyでの動きをチェックしようとKubuntuを起動してログを眺めてみると、clamscanもfreshclamも想定どおりに動いていないことに気づき、イライラがつのります。cronのログは/var/log/cronにあるというのがgoogleの検索結果でしたが、Kubuntuには/var/log/cronディレクトリは無く、syslogに起動のlogがあるので、それを眺めていたのですが、cronが無く、crorというログばかり。
less /var/log/syslog | grep cornとしてチェックしているのですから、crorが引っかかるのは不思議だなと首を捻っていると、Kubuntuのターミナルのkonsoleが文字を欠けさせて表示していることに気づきました。
この不具合を解決させるために時間がかかってイライラ。(解決しました。)

ついでに、clamTkをチェックするとスケジュールした作業が消えていました。
PPAからのバージョンアップはUbuntuだけにした作業で、Kubuntuには関係ないはずなのに、何が起こったのか理解できません。

sudoして何かおかしな処理をしてしまったのかなぁとも考え、そういうことが無い様に新しいsudoできないアカウントでも作ろうかなどと考え、新しいアカウントを作ってみるとパスワードの設定を忘れて、ログインできず。adduser使えばよかったと思いつつ、GUIでパスワードを設定し、いざログインしようとすると「認証トークンの変更」なるダイアログボックスが出て、「新しいパスワード」を求めてきます。まあ、しょうがないと思いながら、新しいパスワードを入力しようとすると、このダイアログボックスがキー入力を受け付けません!!!

このアカウントは使えないじゃないかとムカっとしましたが、sshでログインしてパスワード変更できることに気づき、なんとか変更。ダイアログボックスが入力を受け付けない本体ディスプレイの方は、コンソールに切り替えてログインしてリブート。(あ、sshでログインするぐらいならコンソールでログインすればよかったんだと気づきイライラ)

昨日のFIreFoxの日本語入力のことから引き続き、イライラが募り、やっぱりGUIは捨てて、sshでメインPCからターミナル接続で操作しようかなどと後ろ向きになっていた本日でした。

でも、Kubuntuのrekonqでは遊べないFlashの「麻雀」がKubuntuのFireFoxでは遊べることが分かって、また少しメインPCのUbuntu/Kubuntu化への意欲が戻ってきたような気もいたします。

明日は、VirtualBoxへのUbuntuのインストールやkonsoleの文字欠けの対処をまとめてみたいと思っています。

2011年6月24日 (金)

Kubuntu 11.04 FireFoxで日本語入力をできるようにする

FireFoxで日本語が入力できない

Kubuntuではrekonqが標準ブラウザとして設定されている。気に入らないということも無く使っていたが、ときどき全く反応しなくなることが気になってしまった。
メニューに「FireFoxのインストール」という項目が用意されていたので、FireFoxなら安心だろうとインストールを行った。

しかし、Goobleで検索を行おうとして日本語が入力できないことに気づいた。

FireFoxで日本語が入力できなければ、これは大問題だから、すぐに解消方法が分かるだろうとGoogleで検索するが、ピンとくる回答がない。
もちろん、どうやら既知の、それもかなり昔から既知の問題であるらしく、いくつものサイトに解消方法が出ている。

調べているうちに、日本語のInputMethodの種類の問題であるような感じがわかり、SCIMとibus-kdeというものに問題があるらしいことが分かった。

では、Kubuntu 11.04のIMEはどうやって調べるのか?

誰でも「システム設定」のロケールあたりだろうとあたりがつく。それで「システム設定」を起動して眺めてみたが見つからない。
Kubuntuでは、前回も「スクリーンセーバー」の設定が見つけられなかった。いやな予感がする。

とりあえずターミナルからps -A | grep SCIMとps -A | grep ibusを実行して、ibusが動いているらしいことは分かったが、単なるibusなのかibus-kdeかがわからない。

「スクリーンセーバー」のときの経験から、きっと思いもよらぬところにあるかもしれないと、再び「システム設定」に戻り、念入りに調べていると、見つかった。

「システム言語」の「インストール」タブでは、以下の図のように日本語は選択できない。でも、ここの「コンポーネント」に「インプットメソッド」とあるのを発見したのだ。さて、どうやって、これをアクティブにして選択するのか?

Inputmethod0

「アンインストール」タブがあるので、一度アンインストールすることも考えたが、それはちょっとおかしい感じがする。
もうひとうある「System Default」タブを開けてみると、一番下の右端に「キーボード入力に使うIM:」という記述がある。

Inputmethod

ためしに「デフォルトのシステム言語」で日本語を選択すると、ibus-kdeだったので、これを以下のとおりにibusに変更した。

Ime


FireFoxを起動して日本語を入力してみるが、反応せず。IMEは起動しなおさないと駄目かなと/etc/initをlsしてみるが、ibusらしきものが見当たらないので、リブートを行うことにした。リブート後は、FireFoxで日本語入力が可能となった。

しかし、今度はrekonqで、未確定文字に下線がつかなくなるという現象が発生。まあ、さして支障もないので、これには目をつむることにして一見落着。

2011年6月21日 (火)

Ubuntu Kubuntu 11.04 アンチウイルス 週間の自動実行の追加

Ubuntu Kubuntu 11.04 アンチウイルスソフトの自動実行の追加

昨日、一ユーザの立場で、自分のホームディレクトリ以下について、アンチウイルスソフトの毎日のスキャンの設定は、ウイルススキャナ(ClamTk)のGUIで行うことが出来た。しかし、Ubuntuシステムとしては、まだいくつかチェックをしておきたいところが残っていた。昨日は、週一回ぐらいの頻度で、それを手処理で行うこととしていたが、やはり自動実行をしたいところである。
とりあえず、調べてみて設定が行えそうであったので試してみた。

まず、昨日のClamTkのスケジュール設定について、ClamTkのReadmeでは「crontab」を利用すると書かれていたので、その内容を確認してみた。

~$ crontab -l

50 22 * * * /usr/bin/clamscan --detect-pua -i -r /home/kitatanuki --exclude-dir=/home/kitatanuki/.clamtk/viruses --log=$HOME/.clamtk/history/$(date +\%b-\%d-\%Y).log 2>/dev/null # clamtk-scan
50 9 * * * /usr/bin/freshclam --datadir=/home/kitatanuki/.clamtk/db --log=/home/kitatanuki/.clamtk/db/freshclam.log # clamtk-defs

最初の50と22が時刻を示し、日、月、曜日が指定されていないのでアスタリスクが続き、その後がコマンドになる。
最初の行がスキャンの実行で、次の行がパターンファイルのアップデートとなっている。一ユーザとしての実行であるため、 ログファイルはホームディレクトリ内部に作られているが、これはルートで実行するときには、/var/log内部に作られることになる。調べてみると、/var/log/clamavにログファイルが存在していた。

上記のcrontabの内容とclamscanのマニュアルを参考にして、以下のshellスクリプトをrootで(sudoして)作成した。
方針としては、shellスクリプトがうまく実行できることを確認した後に/etc/cron.weeklyにコピーする。
/etc/crontabを見ると、毎週日曜日の6時47分に実行されることになっている。(その時間に起動していないときはanacronが起動後に実行するらしい)

#!/bin/sh

# update sigs
/usr/bin/freshclam --log=/var/log/clamav/$(date +\%Y\%m\%d)fresh.log
# Custom scan
/usr/bin/clamscan --quiet --stdout --detect-pua -i -r --log=/var/log/clamav/$(date +\%Y\%m\%d)scan.log /bin
/usr/bin/clamscan --quiet --stdout --detect-pua -i -r --log=/var/log/clamav/$(date +\%Y\%m\%d)scan.log /boot
/usr/bin/clamscan --quiet --stdout --detect-pua -i -r --log=/var/log/clamav/$(date +\%Y\%m\%d)scan.log /etc
/usr/bin/clamscan --quiet --stdout --detect-pua -i -r --log=/var/log/clamav/$(date +\%Y\%m\%d)scan.log /lib
/usr/bin/clamscan --quiet --stdout --detect-pua -i -r --log=/var/log/clamav/$(date +\%Y\%m\%d)scan.log /opt
/usr/bin/clamscan --quiet --stdout --detect-pua -i -r --log=/var/log/clamav/$(date +\%Y\%m\%d)scan.log /root
/usr/bin/clamscan --quiet --stdout --detect-pua -i -r --log=/var/log/clamav/$(date +\%Y\%m\%d)scan.log /sbin
/usr/bin/clamscan --quiet --stdout --detect-pua -i -r --log=/var/log/clamav/$(date +\%Y\%m\%d)scan.log /usr
/usr/bin/clamscan --quiet --stdout --detect-pua -i -r --log=/var/log/clamav/$(date +\%Y\%m\%d)scan.log /var

これに、clamavweek.shとファイル名を付け、chmod 700 clamavweek.shとして実行可能として、実行できることを確認した。
/etc/cron.weeklyにコピーすると、今度の日曜日まで動かないことになるので、とりあえずは、/etc/cron.dailyにコピーして、不具合が出ないことを確認して、cron.weeklyに移そうと考えている。

と、簡単にできたみたいに書いているけれど、最初はコマンドラインでオプションを変更しながらひとつだけを実行し、その次はログを確認し等々、結構時間がかかってしまいました。
ClamTkでも画面に「期限切れ」と表示されていやな気分でしたが、 コマンドラインでfreshclamを起動すると、

WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.97 Recommended version: 0.97.1
DON'T PANIC! Read http://www.clamav.net/support/faq

と表示されて、いやな気分になります。これも、やっぱり何とかしたいなと感じ始めました。

ところで、上のShellスクリプトですが、同じような行が並んでいて、ちょっと気にくいません。と、いいますか、実はこれで一番時間を取られてしまったのですが、clamscanのマニュアルには、--include-dir=[正規表現]という内容がありました。それで、下の9行を一行にしようと最初は頑張っておりました。(実行の速度や負荷は上の記述の方が早そうだと感じるのですが)

ウイルススキャンを開始するディレクトリには/(root)を指定して、最初がスラッシュで、以下bin boot ....をorで結べばいいかと軽くはじめておりました。

/bin
/boot
/etc
/lib
/binbin
/opt
/usr
/usr/local
/usropt/local

などというtest.txtというファイルを作って、

$ cat test.txt | grep -E "^\/(bin|boot|etc|lib|opt|usr)$"

などとして、/bin、/boot、/etc、/lib、/opt、/usrだけが検索されるので、「しめしめ」などと考えて

/usr/bin/clamscan -r --include-dir="^\/(bin|boot|etc|lib|opt|usr)$"   /

とかやって、全然駄目。これは考えてみれば、/(root)の下の、正規表現でマッチしたディレクトリを検索をするわけですから"$"をつけて、これが最後と明示してはいけなさそう。
それではと、"^\/(bin|boot|etc|lib|opt|usr)\/.*" ではどうだろうとやって、駄目・・・かなり試して諦めて上の力技になった次第です。
そして、これを書いている、いま、まさにディレクトリじゃなくてファイルでやればいいじゃないかと気づいてしまい、コマンドラインで、ちょっと試したら成功(T_T)
まあ、こんなものですね。成功例は以下。

/usr/bin/clamscan -r --include="^\/(bin|etc)\/*"   /

とりあえず修正せずに様子見です。

2014年11月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
無料ブログはココログ