試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

Ubuntu 13.10における幾つかのメモ(2013年10月下旬時点)

PPAのパッケージを更新

PPAリポジトリ

で公開しているパッケージは既にUbuntu 13.10向けの更新が完了している。パッケージの内容自体は基本的に前の13.04のときのものと同じで、変更点はrxvt-unicodeのバージョンが上がったのに対応した程度。

既存ユーザでアップグレード後にグラフィカルログインをしても何も出ない?

Ubuntu 13.10にアップグレード後、ディスプレイマネージャ(グラフィカルなログイン画面のプログラム)からログインをしても(ログインするデスクトップ環境などに関わらず)先に進まずに何も出ないという状態になってしまったが、新規にユーザを作成してそちらでログインすると問題は起こらなかったため、現在使用しているユーザのホームディレクトリの下にある「.」で始まる名前のファイルやディレクトリを一旦別の場所に移動してみたところ、正常にグラフィカルログインできるようになった。その後、移動していたファイルやディレクトリを少しずつホームディレクトリの下に戻して使っているが、具体的にどのファイルやディレクトリが問題を起こしていたのかは不明。

fglrx-legacy(古めのRadeon HD向けのドライバ)

Radeon HD 4200などをUbuntu 12.10で使用する場合のfglrx(legacy版)についてのメモ」で扱ったfglrx-legacyはPPAのパッケージの作成者が「公式のlegacy版が更新されない限りPPAのパッケージも更新しない」としており、Ubuntu 13.10向けのパッケージは2013年10月下旬時点では存在しない(利用不可)。
一方で、最後のバージョンである13.1(2013年1月版)をUbuntu 13.10(バージョン3.11系のカーネル)向けに修正して提供している人が
http://ubuntuforums.org/showthread.php?t=2181190&p=12823425#post12823425
でリンクを載せており、実際に動作したという人もいるが、2013年10月下旬時点ではx86_64版のみの提供となっている。

Wine 1.6

ディストリのパッケージとして用意されているWineは古い安定版系統のバージョン1.4系となっており、最新安定版のバージョン1.6は用意されていないが、「ppa:ubuntu-wine/ppa」のPPAリポジトリを登録の上で「wine1.6」パッケージを入れることで利用できる。
PPAリポジトリの登録手順は「Radeon HD 4200などをUbuntu 12.10で使用する場合のfglrx(legacy版)についてのメモ」などを参照。

PulseAudioの設定ファイルなどの場所

PulseAudioの一般ユーザの設定ファイル群(default.pa,daemon.conf,client.conf)は、ディレクト[ホームディレクトリ]/.pulse/が存在しない場合

の中のものが用いられ、PulseAudioが保存する幾つかのファイル群もこのディレクトリに置かれる。
ただし、PulseAudioのバージョン4.0時点では、ディレクト[ホームディレクトリ]/.pulse/が存在する場合にこちらが優先される。
下はこのディレクトリ決定に関係した部分のソース。
[引用]ファイル名: pulseaudio-4.0/src/pulsecore/core-util.c より

static char *get_pulse_home(void) {
    char *h, *ret, *config_home;
    int t;

    h = pa_get_home_dir_malloc();
    if (!h) {
        pa_log_error("Failed to get home directory.");
        return NULL;
    }

    t = check_ours(h);
    if (t < 0 && t != -ENOENT) {
        pa_log_error("Home directory not accessible: %s", pa_cstrerror(-t));
        pa_xfree(h);
        return NULL;
    }

    /* If the old directory exists, use it. */
    ret = pa_sprintf_malloc("%s" PA_PATH_SEP ".pulse", h);
    if (access(ret, F_OK) >= 0) {
        free(h);
        return ret;
    }
    free(ret);

    /* Otherwise go for the XDG compliant directory. */
    config_home = get_config_home(h);
    free(h);
    ret = pa_sprintf_malloc("%s" PA_PATH_SEP "pulse", config_home);
    free(config_home);

    return ret;
}

(略)

static char *get_config_home(char *home) {
    char *t;

    t = getenv("XDG_CONFIG_HOME");
    if (t)
        return pa_xstrdup(t);

    return pa_sprintf_malloc("%s" PA_PATH_SEP ".config", home);
}