気が付いたら、画面上で、何時も表示されているアイコンがなくなってしまいました。
どうすれば、また、他の人と同じように、アイコンが表示されるようになるのでしょうか(2003/10/21) ?
login時に、「ディスクトップ」を"twm"にして、loginしてください。
いつもと、異り、画面はシンプルで、shell window (ターミナルエミュレータ)が一つ出ているだけになると思います。
[stmXXXX@axx stmXXXX]$ \rm -r ~/.g*
[stmXXXX@axx stmXXXX]$ exit
login時に、「ディスクトップ」を"Gnome"にして、loginしてください。
最初の状態に戻っていると思います。
皆さんは、普段Gnome(1)という名前のwindow managerを利用しています。
Gnomeは、ディスクトップのアイコンの位置などを管理しており、また、変更があると、logout時に、その変更結果を、ファイルに保存し、次回のlogin時に、その変更結果をファイルから読み出すことによって、変更内容を復元するようになっています。
その変更内容が入っている場所が"~/.g*"で表される場所なわけです。
今回の問題では、その内容が、思わぬものに書き換わってしまい、元にもどせないかという問題です。
もし、「最初の状態に戻す(2)」というのであれば、「Gnomeが設定ファイルがない場合に、自動的に標準的な設定に書き換える(これが最初の状態)」という挙動を利用することができます。
つまり、「現在の設定を無くしてしまえ」ば、後は、Gnomeが勝手に、標準状態にしてくれるわけです。
そこで、「現在状態を無くす」つまり「状態を保存しているファイルを削除する」命令が、"rm -r ~/.g*"だったわけです。
ただし、この方法を取ると、当然のことながら、積極的に自分が設定変更してきた内容も失しなわれてしまいます。例えば、壁紙を変更している人は、元の何もない背景に戻ってしまいます。したがって、この方法を適用する場合は、そこの処を考えてみてください(3)。
福井先生の解析学とコンピュータの課題で、textに記載されている、ヤコビ法で、固有値を求めるプログラムを入力しました。
ところが、このプログラムをコンパイルしようとすると、「"matrix.h"がありません」といわれて困っています。どうしたら良いのでしょうか(2003/10/21)。
互いに関係のあるプログラムを作成していると、プログラム間で共通な記述がでてきます。もちろん、これを、全部、毎回同じ内容で入力してもよいのですが、それは、単純に考えても面倒ですし、それのみならず、同じ入力のつもりで、間違って、異なる入力をしてしまうと、それが原因で、プログラムが思いどおりに動かなくなってしまう可能性もあります。
そこで、同じ内容であることを保障し、入力の手間を減らすための仕組みが、includeです。
このtextでは、行列に関る記述が多いため、その行列を利用するプログラムで共通な内容をmatrix.hにまとめておき、様々な処から利用しているために、今回のようなことになったわけです。
まず、プログラムの先頭に#include <math.h>をいれましょう。#include <stdio.h>の下あたりがよいと思います。
また、コンパイル時にcc xxxx.c -lmと、コンパイルオプションとして-lmを最後につけてください。
数学関数を利用するには、その関数の宣言(コンパイル時に必要)と、関数の定義(実行時に必要)の二つを共に、指定する必要があります。
関数の宣言は、math.hの中にあるので、プログラムの中でinclude文でそれを指定します。
また、関数の定義は、/usr/lib/libm.aの中にあるのですが、これをccコマンドの-lmで指定しています。
どうやら、シルフィードは、送信するメールの中に、不正な文字コードが入っていると、落ちてしまうようです。
このようなことがおきないように、正しい漢字コードで表現された内容を送ることにしましょう( 2003/06/24 )。
コマンドプロンプトWindow (あの背景の黒いWindow )は、もともと、昔、Window Systemがなかったころの状況で利用するToolをWindows Systemの一部となるようなWindowとして実現したものです。
このため、Windows Systemの一部だけでなく、Display全体を専有していたころの(つまり昔と同じ.. )状態にする仕組が備わっているわけです。
この画面全体を専有する状態(「全画面表示」と呼びます.. )にするための命令( Key入力)が、[Alt] + [Enter]となっています。そして、もとの状態に戻す命令も[Alt] + [Enter]なわけです。
C言語のProgramを作成し、無事コンパイルが済んだので、実行しようとしたら、「mainがない」といわれました。
[kurino@a46 /tmp]$ cc a.c /usr/lib/crt1.o: In function `_start': /usr/lib/crt1.o(.text+0x18): undefined reference to `main' collect2: ld returned 1 exit status [kurino@a46 /tmp]$
どうしてでしょうか?
おそらく、教科書のProgramを入力したのではないかと思いますが、教科書のProgramは(本来は、当然、こうすべきものであるのですが、[中身もわからずに、丸写しする人には都合がわるくも.. ] ) main関数から呼出すように、独立したProgramになっています。なぜなら、この方が、本質的な部分が説明しやすいし、また、必要ならば、これを他に転用できるからです。
そして、(当然のことながら、紙面の都合で、あまり本質的でない.. ) main関数は、取り除かれています。
したがって、(最悪、テキストを丸写しする人であっても.. ) main関数を追加する必要があるわけです。
高橋先生のソフトウェア概論では、
LSI C-86 Ver. 3.30c試食版( LSI-C Japan 社製)とCPad for LSI C-86( きときとさん作成) (共に、フリーウェアです)を利用して演習を行っています。
希望があれば、このファイルを配布しますので、Note-PCを持参して、申し出てください。
これは、Internet経由で、自分で入手できるので、計算機に自信のある方は、是非、御自分で。なお、自宅でC言語学習の環境を作成するなどが、参考になると思います。
実行結果の表示量が少い場合は、Cut & Pastを利用しますが、量が多い場合は、リダイレクションを使いましょう。
通常の場合は、./a.outとすれば、画面に実行結果が表示されます。
[kurino@a46 kurino]$ ./a.out ... 実行結果が表示される ... [kurino@a46 kurino]$
次に、">" (リダイレクション)を利用して、その出力を、好きな名前のファイル(以下の例では、result.txt )へ送り、そのファイルに保存することができます。
[kurino@a46 kurino]$ ./a.out > result.txt [kurino@a46 kurino]$ -- あたかも何も表示されないようみえる [kurino@a46 kurino]$ cat result.txt ... 実行結果が表示される ... [kurino@a46 kurino]$
後は、e-mail側で、そのファイルを読み込むように指示すればよいわけです。
[kurino@a46 /tmp]$ cc a.c a.c:1: studio.h: そのようなファイルやディレクトリはありません [kurino@a46 /tmp]$
昔の計算機は、記憶容量が不足していたので、長い名前を短く縮めていました。このためにstdioのような意味不明な単語が多数出てきます。
これは、覚えるしかないので、覚えてください。
ノーム:最初のgは発音しない。
ただ、unixのX windowのwindow managerであることを明確にするために、あえて、「グノム」とか、「ジーノーム」と発音することもある。
「ノーム」は、本来は、ヨーロッパの御伽話に出てくる、妖精や怪物の類の名前。
まず、ステータス行( emacsの下から二行目にEUCとある[実際には、SJISでない..]ことを確認しましょう)
emacsで漢字コードを変換するには、C-x C-m fの後にshift_jis-unix [Enter]としたあと(ここで、ステータス行の表示がSJISに変化します)に、変更を加えて(新しい行を加えて、それを消す.. )から保存( C-x C-s )しましょう。