[ 2010/09/01 renewals ] ☆☆☆ かってに Linux3 (続き2) ☆☆☆
*** Freely Linux3. (it continues, 2) ***
情報化社会の発展を図る活動として、
( 単にNPO協賛活動として )
無料で利用可能な、Linuxの普及の為、
★ Linuxで、インターネット等を、
"MS-Windows" と同じ様に
快適にする情報を無料提供。
410-0022 JAPAN by H.MATSUMOTO ( MACMIL.CO.JP (有)松商商会 )
〒410-0022 マックミルズ 1F ( MACMIL.CO.JP MATSUSHOW CO.,LTD.)
当ページへの、多数のアクセスありがとう。
当ページは、多くの関連HPを参考に、Linux ( Fedora等) での利用や、
応用方法、開発等をし、結果・無料公開してます。
この場を借りて、各関連HP、各検索サイト、各開発者、多くの訪問者 等々へ
Linuxの普及を願いつつ、感謝と、エールを送ります。
・PC9801, DOS/V, Win9X, Win2000,WinXP, UNIX, Linux の各種ソフト作成、
メインは、C(言語)、現在は、Linux 30台位使用して、システム研究開発中。
27年近く(PC8001 〜 現在まで)、各種業務システム構築の現役者が提供。(松本英男)
"マックミル" は、(有)松商商会 の登録商標です。( MACMIL.CO.JP )
●検索は、Ctrl + F で。( アルファベットは、半角文字で検索のこと )
* As for search,with Ctrl + F .
*******<< ★ かってに Linux [ 開始 ] >>*******
Fedora 7 から、Fedora core7(FC7) でなく、Fedora 7(F-7) に名称変更
Fedora core4,5,6, Fedora 7,8 の、
ダウンロード、インストール、update の方法含む(構築)は、ここをクリック
Fedora 15 (F15, F-15)(FC15)
Fedora 14 (F14, F-14)(FC14)
Fedora 14 Preview (test3)
Fedora 14 Beta (test2)
Fedora 14 Alpha (test1)
Fedora 13 (F13, F-13)(FC13) 2010/05/25
Fedora 12 (F12, F-12)(FC12) 2009/11/17
Fedora 11 (F11, F-11)(FC11) 2009/06/09
Fedora 10 (F10, F-10)(FC10) 2008/11/25
Fedora 9 (F9, F-9)(FC9) 2008/05/13
Fedora 8 (F8, F-8)(FC8)
Fedora 7 (F7, F-7)(FC7)
Fedora 7 test4
Fedora core6 (FC6)
Fedora core5, 6, Fedora 7, 8, 9 の検索で、
ここに来た場合は ( DVD.iso ダウンロード等)
"かってに Linux4" が、
Fedora core5, 6,
Fedora 7, 8, 9 の、インストール等の実践記録です。
Fedora core5, 6,
Fedora 7, 8, 9 の検索で、来た方は、
お手数ですが、ここをクリックして下さい。
Fedora 14 (F-14) リリース(release) スケジュール 2010/10/26
http://fedoraproject.org/wiki/Releases/14/Schedule
==============================================================
*******<< ★ かってに KDEメニューエディタ [ 開始 ] >>*******
増加に伴い、ここの内容は、下記に引っ越ししました。
下記を、クリックして下さい。
★ かってに Linux17 (続き16)へ
* Freely Linux17. (it continues, 16) to
● コントロールセンター
● Kメニューを編集-KDEメニューエディタ
/usr/bin/kmenuedit
*******<< ★ かってに KDEメニューエディタ [ 終り ] >>*******
==============================================================
==============================================================
*******<< ★ かってに vsftp [ 開始 ] >>*******
● Fedora での、FTP サーバー設定
・ /etc/vsftpd/vsftpd.conf を、
下記のように、# を、はずし、
修正、又は、追加し、vsftpd の、
サービスを、再起動する。
# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO ← anonymousユーザ(匿名ユーザ)のログイン禁止
ascii_upload_enable=YES ← アスキーモードでのアップロードを許可
ascii_download_enable=YES ← アスキーモードでのダウンロードを許可
chroot_local_user=YES ← 一般ユーザーによるホームディレクトリより
上層へのアクセス禁止 ( 最下行へ追加 )
use_localtime=YES ← タイムスタンプ時間を日本時間に変更(最下行へ追加)
・Fedora core2, core3, core4 の、
サービスで、vsftpd を設定すると
"vsftpd dead but subsys locked"
の、エラーがでる場合。
$ su
# del /var/lock/subsys/vsftpd
# /sbin/chkconfig vsftpd on ← FTPサーバー自動起動設定
# /etc/rc.d/init.d/vsftpd restart
( # /sbin/service vsftpd restart )
*******<< ★ かってに vsftp [ 終り ] >>*******
==============================================================
==============================================================
*******<< ★ かってに kterm [ 開始 ] >>*******
2007/04/28 に、kterm パッチを改定。
Fedora core 2, 3, 4, 5, 6,
Fedora 7, 8, Fedora 9 に対応OK
kernel 2.6.18
kernel 2.6.19
kernel 2.6.20
kernel 2.6.21
kernel 2.6.22
kernel 2.6.23
kernel 2.6.24
( "ktermpat.tar" から、
"ktermfc7.tar" に、改定済み )
参考) MS-DOS 画面風端末は、kterm を使う。
いままで、kterm + kinput2 を使用していたが、
kterm でも、euc で、Anthy の、SCIM入力メソッド が、使用できる為、
現在、Fedora core4,5, core6, Fedora 7,8 で、kterm + Anthy を使用中
注) kterm を使用する場合、euc にしてあること
( /etc/sysconfig/i18n で、euc に設定 )
◆ kterm 設定 参照のこと
kterm + Anthy の、SCIM入力メソッド へは、下記を、クリック
kterm --> "MS-Windows" の、 コマンドプロンプトに相当。
・.bashrc の、設定で、( ここを、クリック )
kterm 上で、dos コマンドと同じ様に、fc, copy, xcopy, del, move, dir が、
使えるようになる。
● Fedora core6,
Fedora 7, 8, Fedora 9 へ、kterm-6.2.0 のインストール方法
2008/01/07 改定
2008/01/07 追加
前準備として、
libutempter-?????.rpm
libutempter-devel-?????.rpm
が、必要。
で、インストール確認し、
インストールされてなければ、先に、インストールしておく。
無いと、
make 時
の、エラー(error)となる。
各Fedora の、ダウンロード
インストールされてなければ、
上記の、該当する、libutempter を、ダウンロードし、
下記を、実施する。
( 当方の場合用 (ここは無視すること) cd /usr/local/src/kterm
・ソースファイルの入手 ( kterm ダウンロード )
ftp://ftp.x.org/contrib/applications/kterm-6.2.0.tar.gz
( ftp://ftp.sra.co.jp/pub/x11/kterm/kterm-6.2.0.tar.gz )
2008/01/07 追加
先に、上記の、libutempter 確認しておくこと
1) ソースファイルの展開
( ここでは、/usr/local/src/kterm に、ダウンロードする例 )
/usr/local/src/kterm に、上記 より、kterm-6.2.0.tar.gz
を、ダウンロードする
上記のから、ダウンロードできない場合は、
kterm620.tar ( kterm-6.2.0.tar.gz ) 左記をクリックし、
/usr/local/src/kterm に、ダウンロードした後、
kterm-6.2.0.tar.gz に、リネームする。
自分で、ソースの修正したい方の、参考
( すでに、修正済みを準備してあるので、ここは、参考まで )
http://www.asahi-net.or.jp/~wp7s-mrn/sap/kterm.html 参考
注) 以下は、kterm-6.2.0.fed7.patch にはいってますので、
処理しないで下さい。
1.
main.c
83行目 #include の後ろに、以下を追加。
#include
#include
#include
#include "data.h"
#include "error.h"
2.
scrollbar.c
327行目を修正
前)Char *realloc(), *calloc();
後)Char *realloc() /** , *calloc() **/ ;
3.
screen.c
49行目を修正
前)Char *calloc(), *malloc(), *realloc();
後)extern Char /** *calloc(), *malloc(), **/ *realloc();
2007/04/28
Fedora core6, Fedora 7, 8, Fedora 9 へ、対応に、下記追加改定
4.
button.c
44行目を修正
前)extern char *malloc();
後)// extern char *malloc();
5.
charproc.c
105行目を修正
前)extern char *malloc();
後)// extern char *malloc();
これだけだと、make install 後、kterm を立上げると、
kterm: no available ptys となり、動作しない。
・そこで、 kterm-6.2.0-37.src.rpm を、参考に、
kterm-6.2.0-utmp98.patch を、追加し、
上記の、以前の、パッチは、Feodora core6, Fedora 7,8 で、
エラーになるので、
kterm-6.2.0.fed7.patch 作成しました [ 2007/04/28 ] 左記をクリック。
( 下の方に、パッチの内容は表示してあります )
注) 上記クリックで、ktermfc7.tar が、ダウンロードできます。[2007/04/28更新]
"ktermfc7.tar" となってますが、ダウンロード後、
( 圧縮してないので、解凍不要です。ダウンロード可能にする為 xxx.tar )
kterm-6.2.0.fed7.patch に、リネームして下さい。
( main.c, screen.c, scrollbar.c, Imakefile が変更となる )
2) ソースの修正済みを、ダウンロードし、パッチをあてる。
/usr/local/src/kterm に、上記 より、ktermfc7.tar
を、ダウンロードし、
kterm-6.2.0.fed7.patch に、リネームする。
3) make する
4) kterm を実行してみる
5) kterm の、設定へ 左記、クリック。
( 下記は、参考です)
● kterm-6.2.0.new.patch [ 2004/06/26 ]
上記の、以前の、パッチは、Feodora core6, Fedora 7,8 で、
エラーになるので、下記を、作成しました [ 2007/04/28 ]
● kterm-6.2.0.fed7.patch [ 2007/04/28 ]
diff -ubBpEr kterm-6.2.0.orig/Imakefile kterm-6.2.0/Imakefile
--- kterm-6.2.0.orig/Imakefile 1996-07-12 14:01:04.000000000 +0900
+++ kterm-6.2.0/Imakefile 2007-04-28 17:52:05.000000000 +0900
@@ -24,6 +24,8 @@ XCOMM $Id: Imakefile,v 6.3 1996/07/12 05
PTYLIB = -lpucc
#endif
+ PTYLIB = -lutempter -lutil
+
OSMAJORVERSION = OSMajorVersion
OSMINORVERSION = OSMinorVersion
diff -ubBpEr kterm-6.2.0.orig/button.c kterm-6.2.0/button.c
--- kterm-6.2.0.orig/button.c 1996-07-02 14:01:46.000000000 +0900
+++ kterm-6.2.0/button.c 2007-04-28 17:52:20.000000000 +0900
@@ -41,7 +41,7 @@ button.c Handles button events in the te
#include "error.h"
#include "menu.h"
-extern char *malloc();
+// extern char *malloc();
extern void DoSecureKeyboard();
diff -ubBpEr kterm-6.2.0.orig/charproc.c kterm-6.2.0/charproc.c
--- kterm-6.2.0.orig/charproc.c 1996-07-12 14:01:36.000000000 +0900
+++ kterm-6.2.0/charproc.c 2007-04-28 17:52:34.000000000 +0900
@@ -102,7 +102,7 @@ extern jmp_buf VTend;
extern XtAppContext app_con;
extern Widget toplevel;
extern void exit();
-extern char *malloc();
+// extern char *malloc();
extern char *realloc();
extern fd_set Select_mask;
extern fd_set X_mask;
diff -ubBpEr kterm-6.2.0.orig/main.c kterm-6.2.0/main.c
--- kterm-6.2.0.orig/main.c 1996-07-12 14:01:38.000000000 +0900
+++ kterm-6.2.0/main.c 2007-04-28 17:52:05.000000000 +0900
@@ -81,6 +81,7 @@ SOFTWARE.
#include <X11/Xlocale.h>
#include <pwd.h>
#include <ctype.h>
+#include <termios.h>
#include "data.h"
#include "error.h"
#include "menu.h"
@@ -1677,11 +1678,12 @@ char *name;
* has problems, we can re-enter this function and get another one.
*/
+int tty;
+
get_pty (pty)
int *pty;
{
-#ifdef __osf__
- int tty;
+#if defined(__osf__) || defined(linux)
return (openpty(pty, &tty, ttydev, NULL, NULL));
#endif
#if defined(SYSV) && defined(i386) && !defined(SVR4)
@@ -2321,6 +2323,8 @@ spawn ()
#endif /* TIOCSWINSZ */
#endif /* sun */
+ addToUtmp(ttydev, NULL, screen->respond);
+
if (!am_slave) {
#ifdef USE_HANDSHAKE
if (pipe(pc_pipe) || pipe(cp_pipe))
@@ -2925,85 +2929,6 @@ spawn ()
#endif
#endif
- (void) setutent ();
- /* set up entry to search for */
- ptyname = ttydev;
-#ifndef __sgi
- if (PTYCHARLEN >= (int)strlen(ptyname))
- ptynameptr = ptyname;
- else
- ptynameptr = ptyname + strlen(ptyname) - PTYCHARLEN;
- (void) strncpy(utmp.ut_id, ptynameptr, sizeof (utmp.ut_id));
-#else
- (void) strncpy(utmp.ut_id,ptyname + sizeof("/dev/tty")-1,
- sizeof (utmp.ut_id));
-
-#endif
- utmp.ut_type = DEAD_PROCESS;
-
- /* position to entry in utmp file */
- (void) getutid(&utmp);
-
- /* set up the new entry */
- utmp.ut_type = USER_PROCESS;
-#ifndef linux
- utmp.ut_exit.e_exit = 2;
-#endif
- (void) strncpy(utmp.ut_user,
- (pw && pw->pw_name) ? pw->pw_name : "????",
- sizeof(utmp.ut_user));
-
-#ifndef __sgi
- (void)strncpy(utmp.ut_id, ptynameptr, sizeof(utmp.ut_id));
-#else
- (void) strncpy(utmp.ut_id,ptyname + sizeof("/dev/tty")-1,
- sizeof (utmp.ut_id));
-#endif
- (void) strncpy (utmp.ut_line,
- ptyname + strlen("/dev/"), sizeof (utmp.ut_line));
-
-#ifdef HAS_UTMP_UT_HOST
- (void) strncpy(buf, DisplayString(screen->display),
- sizeof(buf));
-#ifndef linux
- {
- char *disfin = strrchr(buf, ':');
- if (disfin)
- *disfin = '\0';
- }
-#endif
- (void) strncpy(utmp.ut_host, buf, sizeof(utmp.ut_host));
-#endif
- (void) strncpy(utmp.ut_name, pw->pw_name,
- sizeof(utmp.ut_name));
-
- utmp.ut_pid = getpid();
-#ifdef SVR4
- utmp.ut_session = getsid(0);
- utmp.ut_xtime = time ((Time_t *) 0);
- utmp.ut_tv.tv_usec = 0;
-#else
- utmp.ut_time = time ((Time_t *) 0);
-#endif
-
- /* write out the entry */
- if (!resource.utmpInhibit)
- (void) pututline(&utmp);
-#ifdef WTMP
-#ifdef SVR4
- if (term->misc.login_shell)
- updwtmpx(WTMPX_FILE, &utmp);
-#else
- if (term->misc.login_shell &&
- (i = open(etc_wtmp, O_WRONLY|O_APPEND)) >= 0) {
- write(i, (char *)&utmp, sizeof(struct utmp));
- close(i);
- }
-#endif
-#endif
- /* close the file */
- (void) endutent();
-
#else /* USE_SYSV_UTMP */
/* We can now get our ttyslot! We can also set the initial
* UTMP entry.
@@ -3418,39 +3343,7 @@ Exit(n)
#endif /* USE_HANDSHAKE */
) {
ptyname = ttydev;
- utmp.ut_type = USER_PROCESS;
- if (PTYCHARLEN >= (int)strlen(ptyname))
- ptynameptr = ptyname;
- else
- ptynameptr = ptyname + strlen(ptyname) - PTYCHARLEN;
- (void) strncpy(utmp.ut_id, ptynameptr, sizeof(utmp.ut_id));
- (void) setutent();
- utptr = getutid(&utmp);
- /* write it out only if it exists, and the pid's match */
- if (utptr && (utptr->ut_pid == screen->pid)) {
- utptr->ut_type = DEAD_PROCESS;
-#ifdef SVR4
- utmp.ut_session = getsid(0);
- utmp.ut_xtime = time ((Time_t *) 0);
- utmp.ut_tv.tv_usec = 0;
-#else
- utptr->ut_time = time((Time_t *) 0);
-#endif
- (void) pututline(utptr);
-#ifdef WTMP
-#ifdef SVR4
- updwtmpx(WTMPX_FILE, &utmp);
-#else
- /* set wtmp entry if wtmp file exists */
- if ((fd = open(etc_wtmp, O_WRONLY | O_APPEND)) >= 0) {
- i = write(fd, utptr, sizeof(utmp));
- i = close(fd);
- }
-#endif
-#endif
-
- }
- (void) endutent();
+ removeFromUtmp();
}
#else /* not USE_SYSV_UTMP */
register int wfd;
diff -ubBpEr kterm-6.2.0.orig/screen.c kterm-6.2.0/screen.c
--- kterm-6.2.0.orig/screen.c 1996-06-23 17:00:26.000000000 +0900
+++ kterm-6.2.0/screen.c 2007-04-28 17:52:05.000000000 +0900
@@ -46,7 +46,7 @@
#include <sys/ptem.h>
#endif
-extern Char *calloc(), *malloc(), *realloc();
+extern Char /** *calloc(), *malloc(), **/ *realloc();
extern void free();
ScrnBuf Allocate (nrow, ncol, addr)
diff -ubBpEr kterm-6.2.0.orig/scrollbar.c kterm-6.2.0/scrollbar.c
--- kterm-6.2.0.orig/scrollbar.c 1996-07-12 14:01:39.000000000 +0900
+++ kterm-6.2.0/scrollbar.c 2007-04-28 17:52:05.000000000 +0900
@@ -324,7 +324,7 @@ ScrollBarOn (xw, init, doalloc)
register TScreen *screen = &xw->screen;
register int border = 2 * screen->border;
register int i;
- Char *realloc(), *calloc();
+ Char *realloc() /** , *calloc() **/ ;
if(screen->scrollbar)
return;
● 参考) patch 関連コマンド使用例
$ bzcat aaa.patch.bz2 > aaa.patch
$ diff -c --recursive main.c new/main.c > aaa.patch
$ patch -p1 < aaa.patch
$ patch -p0 -d . < PATCH_FILE
-p オプションは差分作成時の相対ディレクトリを有効にします
(-p がないと全てのファイルがカレントディレクトリにあると仮定されます)。
-p の後ろの 0 は差分ファイルに記録されている
相対ディレクトリを全て有効にするという意味です。
1、2 と増えていくと、記録された相対ディレクトリが頭から
1つづつ削られます
(例 : -p1 だと usr/local/src => local/src、
-p2 だと usr/local/src => src)。
この後は、
kterm [ コマンドプロンプトに相当 ] の、設定
を参照のこと。 ここを、クリック
*******<< ★ かってに kterm [ 終り ] >>*******
==============================================================
==============================================================
*******<< ★ kterm の、設定 [ 開始 ] >>*******
● kterm の、設定
( kterm の、euc で、Anthy の、SCIM入力メソッド が、使用できる )
参考 1) MS-DOS 画面風端末は、kterm を使う。
kterm --> "MS-Windows" の、 コマンドプロンプトに相当。
・.bashrc の、設定で、( ここを、クリック )
kterm 上で、dos コマンドと同じ様に、fc, copy, xcopy, del, move, dir が、
使えるようになる。
◆◆◆ Fedora core4 に、入ってない、kinput2 を使う ◆◆◆
★ かってに kinput2 へ ( ここを、クリック )
下記設定( .Xdefaults と .Xresources )は、
● kterm と、kinput2 利用時の、設定
( .Xdefaults と .Xresources は、同じもの )
に詳しく載せてあるので、を参照のこと。( ここを、クリック )
◆ .Xdefaults に、( 又は、~/.Xresources [ どちらも、同じものを作る ] )
$ vi ~/.Xdefaults
! 等幅フォント
*VT100*fontList: -alias-fixed-medium-r-normal--16-*
*VT100*boldFontList: -alias-fixed-bold-r-normal--16-*
! --16- は、k16 を、設定しないと、ank, kanji が、1:2に、ならない
KTerm*KanjiFont: k16
$ cp ~/.Xdefaults ~/.Xresources
( cp --> .Xresources の方を使用するものも、ある為
~/.Xresources に、同じものを、コピー )
を追加し、下記を実施。
$ xrdb ~/.Xresources ( これでダメなら、再ログインする )
$ kterm -xim -km euc -fg green -bg black -geometry 80x28 &
[ kinput2 -canna +kinput -xim になってる事 ]
注) Fedora の、場合、下記の設定にて、euc にしてあること
# /etc/sysconfig/i18n を下記のように、euc にする
次に、.bashrc 設定を参照し、
dir, type 等、kterm 等で、使用可能にする。
参考として、"MS-Windows"の、dir /ad の様に、
次に、デイレクトリーのみ表示する、バッチファイルを参照。
jjjjjjjj
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
参考 2) 端末 konsole の、設定 ( 日本語表示用 )
konsole(端末) 画面に、フォーカスし、
マウスの、右クリックで、 設定で
フォントを、選択し、
Gothic[Shinonome], 標準, 11 に、設定 ( Fedora core3, core4, core5 )
Fixed, 標準, 12 に、設定 ( RedHat 9.0 )
Gothic, 標準, 12 に、設定 ( Fedora core1 )
Monospace, 標準, 12 に、設定 ( Fedora core1 )
上記の、どれか、又は、kterm を使用
( 13 は、画面が、乱れる )
サイズを、選択し、
80 x 25 に、設定
設定の保存をする
を、選択。
注) 一部漢字表示が、不完全なので、kterm が良い。
PATH は、.bashrc ではなく、.bash_profile に追記。
( .bash_profile は、ログイン時だけに実行される設定ファイル )
$ vi ~/.bash_profile
PATH=$PATH:/home/myhome; export PATH
● Fedora core2, 3, 4, 5, 6, Fedora 7, 8 の場合、kterm が、ないので、
Fedora core1 の、/usr/X11R6/bin/kterm
[ kterm-6.2.0-37.rpm ] を持ってくる。
[ http://www.rpmfind.net/linux/RPM/ にも、Fedora Core1 用有 ]
・又は、kterm-6.2.0 ダウンロードで、パッチをあてて、使用する。
★ かってに kterm を参照のこと。
● Fedora core2, 3, 4, 5, 6, Fedora 7, 8 の場合
kterm での vi で、BS が、DEL になるので、
.vimrc に、次のように付け加える。
$ vi ~/.vimrc
set t_kD=Ctrl-V<DEL>
この後は、
kterm の、euc で、Anthy の、SCIM入力メソッド が、使用できるので、
下記、漢字キー(「半角/全角 漢字」) 変換に設定
を参照のこと。 ここを、クリック
・kterm ダウンロード・インストール方法 (ここを、クリック)
*******<< ★ kterm の、設定 [ 終り ] >>*******
==============================================================
==============================================================
*******<< ★ 漢字キー(「半角/全角 漢字」) 変換に設定 [ 開始 ] >>*******
kterm + Anthy の、SCIM入力メソッド
及び、
kterm + kinput2 ( cannna ) IIIMF, IIim (iiim ) の、コーナーです。
◆ Fedora core5,6, Fedora 7,8 の、
Anthy の、SCIM ( 日本語入力システム ) で、
( いままで、kterm + kinput2 を使用していたが、
kterm でも、euc で、Anthy の、SCIM入力メソッド が使用できる為、
現在、Fedora core5, 6, Fedora 7,8 で、kterm + Anthy を使用中 )
Ctrl + Space
"半角/全角" キー
Shift + Space(半角(ANK)、全角の、スペース切替用の為、そのままにする)
上記、2つの方法で、日本語変換(漢字モード)の、オン/オフ を切替える。
設定
SCIM入力メソッドの設定 ( 漢字ツールバーの、SCIM を、右クリックでも可 )
フロントエンド
全体設定
キーボード配列 "日本語" を選択する。
ホットキー
開始終了 "Control+space,Zenkaku_Hankaku" を、
開始終了 "Control+space,Shift+space,Kanji" に変更する。
開始終了 "Control+space,Kanji" に変更する。
(Shift+space は、ANKスペース,
漢字スペース切替え用に付き、使用しない)
● iBus ( Intelligent Input Bus for Linux / Unix OS )
Fedora 11 の、iBus ( ibus ) で、
漢字キー(「半角/全角 漢字」) 変換に設定
するには。
Fedora 11 にて、
メニュー → アプリケーション → 設定 → 入力メソッド から、
"一般" で、"キーボードショートカット" の、
"切り替え" の、右端の、"..." をクリック。
キーコード: の欄に、Kanji と、入力し、摘要を選択する。
● Fedora core2, core3 の場合、IIIMF を停止する。
IIIMF(Internet/Intranet Input Method Framework)
トリプル・アイ・エム(エフ)と発音。
IIIMXCF(IIIM X Client Framework) XIM の機能をIIIMF上で提供
◆◆◆ Fedora core4 に、入ってない、kinput2 を使う ◆◆◆
★ かってに kinput2 へ ( ここを、クリック )
( Fedora core4 の場合、IIIMF を停止しないで、使用する )
$ ps ax | grep htt
htt_server -nodaemon
( Fedora core4 の場合停止しない。 $ ps ax | grep iiimx )
( Fedora core4 の場合 htt が、iiimx になった )
$ su
# /etc/init.d/IIim stop
( Fedora core3 --> # /etc/init.d/iiim stop )
# /sbin/chkconfig IIim off
( Fedora core3 --> # /sbin/chkconfig iiim off )
上記の後、ログアウトする。
再度、ログインすると、kinput2 が、立ち上がる。
注) Fedora core3 で、Firefox を使用する時は、上記を実施しないで、
iiim を生かしたまま、下記以降を
実施して、iiim と、kinput2 の混在で、使用する。
Firefox では、漢字キー変換が利かない為。
iiimf-gtk-????、内部で固定している感じがする...
( Fedora core4 での、iiimf-gtk-12.2-4 は、OK )
その際、
# ps ax | grep kinput2 で、確認すると、
kinput2 -canna
となっている場合があるので、
( kinput2 プロト コル使用 )
# kinput2 -canna +kinput -xim &
( 1. kinput2 の起動オプションに +kinput を付け加えて、
kinput2 プロトコルは使用しないようにする
2. kterm の起動オプションに -xim を付け加えて、
kterm が XIM プロトコルを使うようにする )
と起動しなおす。
$HOME/.Xclients と、$HOME/.Xclients-default が無い時、
作成するには、ここを、クリツク。
参考) kinput2 -canna +kinput -xim & を、~/.Xclients に、追加する。
( /etc/kde/kdm/Xsession から、呼び出される )
下記が、.Xclients の、詳細。
( Fedora core3, Fedora core4 の例 )
$ vi $home/.Xclients
● Fedora core2 入力メソッド切替
注) Fedora core3 では、"im-switch -m ???" が使えなくなった。
・現在選択されている入力メソッドを表示
$ im-switch -l
Default system input method: install default
・入力メソッドをkinput2に変更
$ im-switch -m xim
注) Fedora core3 では、"im-switch -m ???" が使えなくなった。
したがって、$HOME/.i18n を自分で変更のこと。
Current language is ja_JP.
Set default input method to kinput2
$ vi $HOME/.i18n
XIM=kinput2
次回、ログイン時、XMODIFIERS=@im=kinput2 になる
・入力メソッドを IIIMF(htt) に変更
$ im-switch -m iiimf
注) Fedora core3 では、"im-switch -m ???" が使えなくなった。
したがって、$HOME/.i18n を自分で変更のこと。
set default input method to htt
● canna が、立上がって無い時。
$ su
# /etc/rc.d/init.d/canna start
( # /etc/init.d/canna start )
# /sbin/chkconfig canna on
● Linux の、X-Window 上の、kinput2 で、
漢字キー(「半角/全角 漢字」 と表示されている) を
活かして日本語入力への切換えに使うよう設定する。
( Shift + Space も、漢字 だけでも、可 )
( ただし、kterm の設定は、どちらか、一方のみ )
# /bin/vi /etc/X11/Xmodmap
keycode 49 = Kanji
を、追加。
( /usr/X11R6/bin/xmodmap /etc/X11/Xmodmap )
( /etc/X11/xinit/xinitrc-common:usermodmap=$HOME/.Xmodmap )
( /etc/X11/xinit/xinitrc-common:sysmodmap=/etc/X11/Xmodmap )
# /bin/vi /etc/X11/Xmodmap
にて、追加の際、コメントに、
! extension
があれば、
! !!extension
に修正。
( Fedora core3 では、うまくいかない )
注) 上記で、ダメなら、下記を作成する。
$ /bin/vi $HOME/.Xmodmap [ 注) ドット + Xmodmap ]
keycode 49 = Kanji
# /bin/vi /root/.Xmodmap [ 注) ドット + Xmodmap ]
keycode 49 = Kanji
#/bin/vi /usr/X11R6/lib/X11/app-defaults/Kinput2
!*ConversionStartKeys: \
! Shift<Key>space \n\
! Ctrl<Key>Kanji
*ConversionStartKeys: \
Shift<Key>space \n\
<Key>Kanji ! Alt<Key>Kanji
を、修正追加の後、再立ち上げ。
<Key>Kanji --> 漢字 で、切替え。
注) ~/.Xresources 等に、上記を入れると、
Kinput2 ではなく、~/.Xresources 等が、有効となる。
以上で、Shift + Space か、漢字 で、
日本語入力への切換えができる。
注) 漢字入力システム kinput2 が、起動していない時、
$ su
# /usr/X11R6/bin/kinput2 -canna +kinput -xim &
( 1. kinput2 の起動オプションに +kinput を付け加えて、
kinput2 プロト コルは使用しないようにする
2. kterm の起動オプションに -xim を付け加えて、
kterm が XIM プロトコルを使うようにする )
にて、起動のこと。
更に、必要に応じて、下記が必要。 ( bash )
# XMODIFIERS="@im=kinput2"; export XMODIFIERS
# LANG=ja_JP.eucJP
( csh の時、setenv XMODIFIERS @im=kinput2 )
上記を、~/.Xclients に、追加すると、立上時、自動で、実施される。
.Xclients の、詳細は、ここを、クリック
● Canna のキー操作を ATOK風に
( $ cp /var/lib/canna/sample/just.canna $HOME/.canna )
( $ cp /var/lib/canna/just.canna $HOME/.canna [ Fedora の場合 ] )
$ cp /usr/share/canna/just.canna $HOME/.canna
[ Fedora core3, Fedora core4 の場合 ]
$ vi $HOME/.canna
; (setq romkana-table "just.cbp") を、
(setq romkana-table "default.cbp") にする。[ 小文字入力が、ダメな為 ]
★ 上記の、$HOME/.canna を、編集し、
変換表示を、" あ固 " から、 "[あ固]" のように、
[ ] をつけると、見やすくなる。
・オリジナルは、[ ] がない。
(defmode zenkaku-hiragana-mode " あ固 " romkana-table '(zenkaku hiragana kakutei) t)
(defmode zenkaku-katakana-mode " ア固 " romkana-table '(zenkaku katakana kakutei) t)
(defmode hankaku-katakana-mode " ア 固 " romkana-table '(hankaku katakana kakutei) t)
(defmode zenkaku-eisu-mode " A固 " nil '(zenkaku kakutei) nil)
(defmode hankaku-eisu-mode " A 固 " nil '(hankaku kakutei) nil)
(set-mode-display 'empty-mode " あ連 ")
(set-mode-display 'yomi-mode " あ連 ")
(set-mode-display 'henkan-nyuuryoku-mode " あ連 ")
(set-mode-display 'chikuji-yomi-mode " あ自 ")
(set-mode-display 'chikuji-bunsetsu-mode " あ自 ")
・変換表示を、" あ固 " から、 "[あ固]" のように、
[ ] をつけると、見やすくなる。
(defmode zenkaku-hiragana-mode "[あ固]" romkana-table '(zenkaku hiragana kakutei) t)
(defmode zenkaku-katakana-mode "[ア固]" romkana-table '(zenkaku katakana kakutei) t)
(defmode hankaku-katakana-mode "[ア 固]" romkana-table '(hankaku katakana kakutei) t)
(defmode zenkaku-eisu-mode "[A固]" nil '(zenkaku kakutei) nil)
(defmode hankaku-eisu-mode "[A 固]" nil '(hankaku kakutei) nil)
(set-mode-display 'empty-mode "[あ連]")
(set-mode-display 'yomi-mode "[あ連]")
(set-mode-display 'henkan-nyuuryoku-mode "[あ連]")
(set-mode-display 'chikuji-yomi-mode "[あ自]")
(set-mode-display 'chikuji-bunsetsu-mode "[あ自]")
・Mozilla Firefox 等で、上記が、有効にならない場合。
上記で、作成した .canna を下記の様に、
/etc/canna/default.canna へ、コピーする。
$ su
# cp -p $HOME/.canna /etc/canna/default.canna
● 参考) Canna 関連
★ Fedora core3 --> かんな Version 3.7p3
★ かんなマニュアル
http://www.glasscom.com/tone/linux/Japanese/canna.pdf
★ かんなでの全角スペース入力
@ を2回連続入力すればいい
★ かんなでの「・」の入力
「てん」といれて、スペースを押すと「・」が候補に出てきます。
★記号入力、コード入力、部首入力、単語登録、環境設定
「Home」キーでメニューが出る。
最後は、Ctrl + h キー、又は、BackSpace で復帰する。
● Fedora で、常時、EUC 漢字に設定するには
# vi /etc/sysconfig/i18n
に、設定。
◆ 更に、man コマンド用 も、下記の様に、EUC の設定にする。
# vi /etc/man.config
の箇所を、コメントにし、
下記のように、
と、変更追加する。
● 参考) Fedora core4 の場合の、IIIMF。
/usr/X11R6/lib/X11/xinit/xinput.d/iiimf
XIM=iiimx
XIM_PROGRAM=iiimx
GTK_IM_MODULE=iiim
gnome-im-settings-daemon >/dev/null
#QT_IM_MODULE=iiimqcf
/usr/X11R6/lib/X11/xinit/xinitrc.d/xinput.sh
[ -z "$XMODIFIERS" -a -n "$XIM" ] && XMODIFIERS="@im=$XIM"
・上記により、
XMODIFIERS=@im=iiimx が、セットされる。
・Fedora core4 で、
を利用した場合、
$ vi ~/.Xclients
kinput2 -canna +kinput -xim &
Fedora core4 では、上記の、
.Xclients が、/etc/kde/kdm/Xsession から、
呼び出されず無視される。
( 下記回避方法は参考の為、のこしておく )
◆ 原因は、下記、Xsession の動作の時、
・Fedora core3 では、$1 が、"default" で、
exec -l $SHELL -c "$DBUS_LAUNCH $1" が、実行されないが、
・Fedora core4 では、$1 が、"startkde" で、
exec -l $SHELL -c "$SSH_AGENT $DBUS_LAUNCH $1" が、実行され、
Xsession の中の、.Xclients 関係が、実行されない。
/etc/kde/kdm/Xsession
*)
# GDM provies either a command line as the first argument or
# provides 'failsafe', 'default' or 'custom'. KDM will do the
# same at some point
if [ "$1" != "default" -a "$1" != "custom" ]; then
exec -l $SHELL -c "$DBUS_LAUNCH $1" # Fedora core3
exec -l $SHELL -c "$SSH_AGENT $DBUS_LAUNCH $1" # Fedora core4
fi
;;
esac
+++++++++++++++
$SHELL --> /bin/bash
$SSH_AGENT --> /usr/bin/ssh-agent
$DBUS_LAUNCH --> /usr/bin/dbus-launch --exit-with-session
$1 --> startkde
◆ とりあえず、回避方法として、
$ su
# vi /etc/kde/kdm/Xsession
を、
に、変更する。
又は、
$ su
# vi /usr/X11R6/lib/X11/xinit/xinitrc.d/xinput.sh
### [ -z "$XMODIFIERS" -a -n "$XIM" ] && XMODIFIERS="@im=$XIM"
[ -z "$XMODIFIERS" -a -n "$XIM" ] && XMODIFIERS="@im=kinput2"
として、再立上し、
$ su
# /usr/X11R6/bin/kinput2 -canna +kinput -xim &
# exit
$ kterm -xim -km euc -fg green -bg black -geometry 80x28 &
で、Fedora core4 で、kterm で、漢字入力が使用できる。
参考) ● 画面コピー
PrintScrnキー ( PrintScreen key ) --> スナップショット
又は
メニュー --> グラフィックス --> Ksnapshot
又は
$ /usr/bin/ksnapshot
● canna が、立上がって無い時。ここを、クリック
● kterm と、kinput2 利用時の、設定。
( .Xdefaults と .Xresources は、同じもの ) ここを、クリック
*******<< ★ 漢字キー(「半角/全角 漢字」) 変換に設定 [ 終り ] >>*******
==============================================================
==============================================================
*******<< ★ .bashrc の、設定 [ 開始 ] >>*******
● .bashrc の、設定
$HOME/.bashrc, /root/.bashrc に、あるので、
下記の様に、追加する。
# .bashrc
# User specific aliases and functions
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
#=====<< ここから、下に記入 >>=====
# PATH は、.bashrc ではなく、.bash_profile に追記。
# alias vi='vim'
# /usr/bin/vim -> /bin/vi
alias vi='vi'
# clear: 画面クリア
alias cls='clear'
alias type='cat'
# alias fc='cmp'
alias fc='diff'
alias df='df -T'
alias copy='cp -p'
### alias xcopy='cp -iup'
alias xcopy='cp -up'
alias del='rm'
alias move='mv'
alias dir='ls --color=tty -o -d -q -a -t -r'
alias dirz='ls --color=tty -l -d -q -a -t -r -Z'
alias dir2='ls --color=tty -o -q -a -t -r'
alias dirad='/usr/bin/dirad.bat' ##### 下記、dirad.bat 参照
alias his='history'
◆ 1度登録した、alias(エイリアス)を、解除するには、
unalias コマンドを利用
◆ "ls: オプションが違います -- 4" 等の、エラー
ファイル名に、"-" (マイナス) のついたもの、
例えば、"-4.jpg" 等が、あると、( C 等の、アプリで作られる )
ls * や、上記、alias で、登録した、
dir * で、エラーがでる。( 下記、4 は、-4.jpg の、4 と思われる )
通常、-4.jpg 等は、作成できないが、C 等からは、可能な為。
参考) SELinux 現在のラベル
$ ls -alZ /home2
drwxrwxrwx root root root:object_r:default_t dai2
drwxrwxrwx root root system_u:object_r:default_t dvd
*******<< ★ .bashrc の、設定 [ 終り ] >>*******
==============================================================
=====<< start dirad.bat >>====================================
● "dirad.bat" の作成。
"MS-Windows"の、dir /ad の様に、デイレクトリーのみ表示。
下記、内容の、dirad.bat を作成し、
# chomod 755 dirad.bat の後、
/usr/bin/ に、コピーした場合は、
上記の、.bashrc に、
alias dirad='/usr/bin/dirad.bat' と登録し、
$ dirad /home/ の様に使用。
$ vi dirad.bat
$ su
# chomod 755 dirad.bat
# cp -p dirad.bat /usr/bin/
=====<< end dirad.bat >>====================================
==============================================================
*******<< ★ C(X-window)で、漢字入力プログラムを造る [ 開始 ] >>*******
● C で、X-Window 上の、漢字入力プログラムを造る方法。
・Linux XIM(漢字入力)(下記、修正ソフトを利用のこと)
・Linux XIM(漢字入力)サンプル xim?.c の、修正ソフト
* +++++++++++++++++++++++++++++++++++++++++++++++++++
* (http://home.catv.ne.jp/pp/ginoue/im/index.html)
* にあったサンプルプログラムを Linux RedHatで
* 動作するように修正を加えたもの。
*
* 主な修正は、
* setlocale()のあとに、XSetLocaleModifiers("")を呼び出す点。
* +++++++++++++++++++++++++++++++++++++++++++++++++++
・Linux XIM で、漢字入力する方法。
上記、Linux XIM(漢字入力)サンプル xim3.c の、
修正ソフトが、最適。
/*
* <<< X11R6の、XIM >>>
*
* Xlibのレベルで日本語入力の初期設定等、必要な作業。
* ( 注. 日本語入力で、必要なものだけ、抜粋 )
*
* 1. ヘッダファイルを追加
include <X11/Xlocale.h>
*
* ++++++++++++++++++++++++++++++++++++
* X_LOCALEが定義されている場合
* setlocale()で_Xsetlocale()を
* 呼ぶように#defineする
*
* X_LOCALEが定義されていない場合
* setlocale()そのものを呼ぼうとする
*
* という動作になります。
* この仕組みにより,システムの
* Cライブラリにsetlocale()などの
* 国際化関数群が含まれない場合に,
* Xの国際化関数で代用するといったことが
* 可能になっています。
*
* 従来のLinuxシステムは,
* libc5という国際化に対応していない
* バージョンの
* Cライブラリを使用してきました。
*
* そこで,この機構を利用した国際化が
* 行われてきました。
*
* X_LOCALEが必要か
* ディストリビューションで区別すれば,
*
* cc のフラグに -DX_LOCALE を
* つける必要があります.
* Slackware、RedHat(〜4.2)、
* Debian(bo/bo-jp)、Caldera OpenLinux
*
* cc のフラグに -DX_LOCALEが不要
* Debian(Hamm/Hamm-jp)、RedHat(5.0〜 )
* ++++++++++++++++++++++++++++++++++++
*
* 2. main 関数の始めの部分を修正
*
setlocale(LC_CTYPE, "");
XSetLocaleModifiers ("");
*
*
* 3. XOpenIM() によるIM(Input Method)のオープン
X_im= XOpenIM(Dsp, NULL, NULL, NULL);
*
* 4. XCreateIC() によるIC(Input Context)の作成
X_ic = XCreateIC(X_im,
XNInputStyle, XIMPreeditNothing | XIMStatusNothing,
XNClientWindow, Win,
NULL);
* によるIC(Input Context)の作成
* 他に、
*
X_ic = XCreateIC(X_im,
XNInputStyle, XIMPreeditPosition | XIMStatusNothing,
XNClientWindow, Win,
XNPreeditAttributes, X_ic_pedit_attrr,
NULL);
X_ic = XCreateIC(X_im,
XNInputStyle, XIMPreeditPosition | XIMStatusArea,
XNClientWindow, Win,
XNPreeditAttributes, X_ic_pedit_attrr,
XNStatusAttributes, status_attr,
NULL);
* があるが、SpotLocation属性、FontSet属性を、
* 指定する必要有り。
*
* ++++++++++++++++++++++++++++++++++++
* http://sanchi.appi.keio.ac.jp/~syl/XBUGS/report-XCreateIC.txt
*
* 仕様上は不要な属性をXCreateIC()で
* 指定しなければならない
*
* ・症状
* XCreateIC()で入力スタイルが
* Preedit PositionのICを生成する場合、
* SpotLocation属性と
* FontSet属性を
* 指定しない失敗する。また、Preedit Areaと
* Status AreaでもFontSet属性の
* 指定が必要になる。
*
* Xlib(R6以降)の仕様では、
* これらの属性は指定しなくても良いことになっている
*
* XNInputStyle, XIMPreeditPosition | XIMStatusArea,
*
* ・回避策
* SpotLocation属性とFontSet属性を指定する。
* ++++++++++++++++++++++++++++++++++++
*
* 5. XSelectInput() イベントマスクの設定
XSelectInput(Dsp, Win,
ExposureMask | KeyPressMask | FocusChangeMask);
*
* 6. XFilterEvent() によりイベントをXIMサーバに送る
if (XFilterEvent(&event, None) == True)
{ 処理 }
*
* 7. switch(event.type) によるフォーカスの通知
switch(event.type)
{
case FocusIn :
XSetICFocus(X_ic);
break;
case FocusOut :
XUnsetICFocus(X_ic);
break;
}
*
* 8. 実行環境の設定で、
$ LANG=ja_JP.eucJP
$ export XMODIFIERS="@im=kinput2"
* ( .bashrc で、設定されてない時 )
* ( csh の時、setenv XMODIFIERS @im=kinput2 )
*
* 等が、必要。
*
* 9. 実行後、Shift + SPACEを入力すると
* kinput2で、日本語入力。
*
-------------------------------------------------------
XCreateIC で、エラーがでる時の、参考。( 一部、抜粋 )
X_ic = XCreateIC (X_im,
XNInputStyle, XIMPreeditPosition | XIMStatusNothing,
XNPreeditAttributes, X_ic_pedit_attrr,
XNClientWindow, Win,
NULL);
if (X_ic == NULL)
{
/* 上記で、エラーがでる時の処理 */
X_ic = XCreateIC (X_im,
XNInputStyle, XIMPreeditNothing | XIMStatusNothing,
XNClientWindow, Win,
NULL);
} /* if */
if (X_ic == NULL)
{
printf("Error : XCreateIC() !\n");
XCloseIM(X_im);
/* exit */
exit (0);
} /* if */
-------------------------------------------------------
* +++++++++++++++++++++++++++++++++++++++++++++++
* 以下、参考。
*
$ vi ~/.bashrc
* XMODIFIERS=@im=kinput2 ; export XMODIFIERS
* ( csh の時、setenv XMODIFIERS @im=kinput2 )
*
● kterm と、kinput2 利用時の、設定
( .Xdefaults と .Xresources は、同じもの )
$ vi ~/.Xdefaults ( .Xdefaults と .Xresources は、同じもの )
$ cp ~/.Xdefaults ~/.Xresources
( cp --> デスクトップ環境に GNOME をご利用の場合、
$HOME/.Xdefaults が無効とされてしまう事がある為
~/.Xresources に、同じものを、コピー )
*
参考) kinput2 -canna +kinput -xim & を、~/.Xclients に、追加する。
( /etc/kde/kdm/Xsession から、呼び出される )
上記を、~/.Xclients に、追加すると、立上時、自動で、実施される。
.Xclients の、詳細は、ここを、クリック
$ vi ~/.Xclients
#! /bin/bash
# 漢字入力システム kinput2 の起動
if [ -x /usr/X11R6/bin/kinput2 ] ; then
/usr/X11R6/bin/kinput2 -canna +kinput -xim &
XMODIFIERS="@im=kinput2"
export XMODIFIERS
fi
*
$ xrdb -merge ~/.Xdefaults ( これでダメなら、再ログインする )
*
$ export XMODIFIERS="@im=kinput2"
* ( .bashrc で、設定されてない時 )
* ( csh の時、setenv XMODIFIERS @im=kinput2 )
* +++++++++++++++++++++++++++++++++++++++++++++++
*/
*******<< ★ C(X-window)で、漢字入力プログラムを造る [ 終了 ] >>*******
==============================================================