<!-- ÕðïóôÞñéîç ôçò ÅëëçíéêÞò Ãëþóóáò óôï FreeBSD The FreeBSD Greek Documentation Project --> <!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [ <!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EL"> %articles.ent; <!ENTITY iso-greek "ISO/IEC 8859-7"> ]> <article lang="el"> <articleinfo> <title>ÕðïóôÞñéîç ôçò ÅëëçíéêÞò Ãëþóóáò óôï FreeBSD</title> <author> <firstname>Íéêüëáïò</firstname> <surname>Êüêêáëçò</surname> <affiliation> <address><email>nickkokkalis@yahoo.co.uk</email></address> </affiliation> </author> <copyright> <year>2006</year> <year>2007</year> <year>2008</year> <holder role="mailto:nickkokkalis@yahoo.co.uk">Íéêüëáïò Êüêêáëçò</holder> </copyright> <releaseinfo>$FreeBSD$</releaseinfo> <legalnotice id="trademarks" role="trademarks"> &tm-attrib.freebsd; &tm-attrib.general; </legalnotice> <abstract> <para>Áõôü ôï êåßìåíï äßíåé ïäçãßåò ãéá ôéò ñõèìßóåéò ðïõ ÷ñåéÜæïíôáé, þóôå íá ìðïñïýìå íá äéáâÜóïõìå êáé íá ãñÜøïõìå ÅëëçíéêÜ óôï &os;, ôüóï óå êáôÜóôáóç êïíóüëáò üóï êáé ÷ñçóéìïðïéþíôáò ôï ãñáöéêü ðåñéâÜëëïí <application>&xorg;</application>.</para> </abstract> </articleinfo> <sect1 id="introduction"> <title>ÅéóáãùãÞ</title> <para>Ç ñýèìéóç ôçò õðïóôÞñéîçò ôïõ &os; ãéá ôçí ÅëëçíéêÞ ãëþóóá åßíáé áñêåôÜ åýêïëç, óå êÜèå åðßðåäï. Ìå ó÷åôéêÜ ëßãåò ñõèìßóåéò, ìðïñåß íá ãñÜøåé êáé íá äéáâÜóåé êáíåßò óùóôÜ ÅëëçíéêÜ ìå ôçí åðßóçìç êùäéêïðïßçóç &iso-greek;, ôüóï óå êáôÜóôáóç êïíóüëáò üóï êáé ìÝóá áðü ôï ãñáöéêü ðåñéâÜëëïí <application>&xorg;</application>. Áí êáé ïé ñõèìßóåéò ðïõ áöïñïýí áðïêëåéóôéêÜ óôï FreeBSD åßíáé áõôÝò ôçò êïíóüëáò, åäþ èá áíáöåñèïýí êáé áõôÝò ðïõ áöïñïýí êáé ôá <application>&xorg;</application> áëëÜ êáé ôéò åðéìÝñïõò åöáñìïãÝò.</para> <para>Áöïý äéáâÜóåôå áõôü ôï Üñèñï èá îÝñåôå:</para> <itemizedlist> <listitem> <para>Ðïõ èá âñåßôå ÅëëçíéêÝò ãñáììáôïóåéñÝò, ôüóï ãéá ôçí êïíóüëá ôïõ &os; üóï êáé ãéá <application>&xorg;</application>.</para> </listitem> <listitem> <para>Ðþò íá ïñßóåôå ìéá áíôéóôïé÷ßá ðëçêôñïëïãßïõ (<quote>keymap</quote>) óå êáôÜóôáóç êïíóüëáò, ç ïðïßá íá åðéôñÝðåé ôçí åéóáãùãÞ Åëëçíéêïý êåéìÝíïõ, ìå ôçí êùäéêïðïßçóç &iso-greek;.</para> </listitem> <listitem> <para>Ðþò íá ïñßóåôå üôé ç ðñïêáèïñéóìÝíç ãñáììáôïóåéñÜ óå êáôÜóôáóç êïíóüëáò èá åßíáé êÜðïéá ðïõ Ý÷åé Åëëçíéêïýò ÷áñáêôÞñåò.</para> </listitem> <listitem> <para>Ðþò íá ïñßóåôå ìéá áíôéóôïé÷ßá ðëçêôñïëïãßïõ (<quote>keymap</quote>) óå êáôÜóôáóç ãñáöéêþí, ç ïðïßá íá åðéôñÝðåé ôçí åéóáãùãÞ Åëëçíéêïý êåéìÝíïõ, ìå ôçí êùäéêïðïßçóç &iso-greek;.</para> </listitem> <listitem> <para>Ðþò íá óôÞóåôå ãñáììáôïóåéñÝò ãéá ôï ãñáöéêü ðåñéâÜëëïí ôïõ &os;, ïé ïðïßåò èá Ý÷ïõí õðïóôÞñéîç ôüóï ãéá UTF-8 üóï êáé ãéá &iso-greek; ÅëëçíéêÜ.</para> </listitem> </itemizedlist> </sect1> <sect1 id="console-setup"> <title>Ñõèìßóåéò ãéá ÅëëçíéêÜ óôçí êïíóüëá ôïõ &os;</title> <para>Óôçí êïíóüëá ïé ñõèìßóåéò áöïñïýí äýï óôÜäéá. Ôï ðñþôï óôÜäéï ãßíåôáé êáôÜ ôïí ßäéï ôñüðï ðÜíôá, åíþ ôï äåýôåñï äéáöïñïðïéåßôáé áíÜëïãá ìå ôï êÝëõöïò (<quote>shell</quote>).</para> <itemizedlist> <listitem> <para>Ñõèìßóåéò ãéá ôçí ðñïêáèïñéóìÝíç ãñáììáôïóåéñÜ ôçò êïíóüëáò êáé ìéá áíôéóôïé÷ßá ðëçêôñïëïãßïõ ìå õðïóôÞñéîç ãéá ÅëëçíéêÜ.</para> </listitem> <listitem> <para>Ñõèìßóåéò Ýôóé þóôå ôï ðåñéâÜëëïí ôïõ êåëýöïõò íá õðïóôçñßæåé ôçí ÅëëçíéêÞ ãëþóóá.</para> </listitem> </itemizedlist> <sect2 id="console-files"> <title>ÅëëçíéêÞ ãñáììáôïóåéñÜ êáé áíôéóôïé÷ßá ðëçêôñïëïãßïõ ãéá ôçí êïíóüëá</title> <para>Ãéá íá ìðïñÝóïõìå íá äéáâÜóïõìå êáé íá ãñÜøïõìå ÅëëçíéêÜ ìå ôçí êùäéêïðïßçóç &iso-greek; óôçí êïíóüëá ôïõ &os; ÷ñåéáæüìáóôå ôïõëÜ÷éóôïí äýï áñ÷åßá: ìéá ãñáììáôïóåéñÜ êáé ìéá áíôéóôïé÷ßá ðëçêôñïëïãßïõ.</para> <para>Ï &a.keramida; Ý÷åé öôéÜîåé ìéá ôÝôïéá ãñáììáôïóåéñÜ êáé ìéá áíôéóôïé÷ßá ðëçêôñïëïãßïõ. ÁõôÜ ôá äýï áñ÷åßá äåí åßíáé ìÝñïò ôïõ âáóéêïý óõóôÞìáôïò ôïõ &os; ôç óôéãìÞ ðïõ ãñÜöïíôáé áõôÝò ïé ãñáììÝò, ïðüôå èá ÷ñåéáóôåß íá ôá êáôåâÜóåôå áðü ôï äßêôõï. Ãéá íá êáôåâÜóåôå ôá äýï áñ÷åßá ðïõ ÷ñåéÜæïíôáé êáé íá ôá ôïðïèåôÞóåôå óôïí êáôÜëëçëï êáôÜëïãï ãéá ôïí ôýðï ôïõ êÜèå áñ÷åßïõ, ìðïñåßôå íá ôñÝîåôå ôéò ðáñáêÜôù åíôïëÝò:</para> <screen>&prompt.root; <userinput>cd /usr/share/syscons/fonts</userinput> &prompt.root; <userinput>fetch 'http://people.freebsd.org/~keramida/files/grfixed-8x16.fnt'</userinput> &prompt.root; <userinput>cd /usr/share/syscons/keymaps</userinput> &prompt.root; <userinput>fetch 'http://people.freebsd.org/~keramida/files/keramida.el-iso.kbd'</userinput></screen> <sect2 id="console-rc-conf"> <title>Åíåñãïðïßçóç ôçò ÅëëçíéêÞò õðïóôÞñéîçò óôçí êïíóüëá</title> <para>Ãéá íá ïñßóïõìå ùò ðñïêáèïñéóìÝíç ãñáììáôïóåéñÜ êáé áíôéóôïé÷ßá ðëçêôñïëïãßïõ áõôÝò ðïõ êáôåâÜóáìå, áñêåß íá âÜëïõìå óôï áñ÷åßï <filename>/etc/rc.conf</filename> ôéò ðáñáêÜôù ñõèìßóåéò:</para> <programlisting>font8x16="grfixed-8x16" keymap="keramida.el-iso"</programlisting> <para>Ìå áõôÝò ôéò ñõèìßóåéò, ôï óýóôçìÜ ìáò èá ÷ñçóéìïðïéåß ôá áñ÷åßá ðïõ ìüëéò êáôåâÜóáìå áðü ôçí åðüìåíç öïñÜ ðïõ èá îåêéíÞóåé. Óôï &os; äå ÷ñåéÜæåôáé üìùò íá êÜíïõìå åðáíåêêßíçóç ãéá ìéá ôÝôïéá ìéêñÞ áëëáãÞ. Ìðïñïýìå áðëÜ íá ôñÝîïõìå óå ìéá êïíóüëá ôéò åíôïëÝò:</para> <screen>&prompt.user; <userinput>vidcontrol -f 8x16 grfixed-8x16 < /dev/ttyv0</userinput> &prompt.user; <userinput>kbdcontrol -l keramida.el-iso < /dev/ttyv0</userinput></screen> <para>ÁõôÝò ïé åíôïëÝò èá öïñôþóïõí åêåßíç ôç óôéãìÞ ôç íÝá ãñáììáôïóåéñÜ êïíóüëáò, êáé ôç íÝá áíôéóôïé÷ßá ðëçêôñïëïãßïõ.</para> </sect2> <sect2 id="shell-locale"> <title>Ñõèìßóåéò ãéá ôï êÝëõöïò ÷ñÞóôç</title> <para>Ìå ôéò ñõèìßóåéò ðïõ Ý÷ïõìå êÜíåé ùò ôþñá äåí Ý÷åé åíåñãïðïéçèåß ðëÞñùò ç ÅëëçíéêÞ õðïóôÞñéîç. ÊÜèå ðñüãñáììá ðïõ ôñÝ÷åé óôï &os;, áêüìá êáé ôï êÝëõöïò ÷ñÞóôç ðïõ ÷ñçóéìïðïéïýìå, åîáñôÜôáé áðü ôéò ôñÝ÷ïõóåò ñõèìßóåéò <quote>locale</quote>, ãéá íá îÝñåé óå ôé ãëþóóá äïõëåýïõìå.</para> <para>Ïé ðñïêáèïñéóìÝíåò ñõèìßóåéò locale õðïóôçñßæïõí ìüíï ôçí åéóáãùãÞ êáé áíÜãíùóç êåéìÝíïõ óå ÁããëéêÜ, ïðüôå ðñÝðåé íá áëëÜæïõìå ôéò ñõèìßóåéò áõôÝò ãéá íá ìðïñåß ôï êÝëõöïò ìáò íá äïõëÝøåé óùóôÜ ìå ôçí ÅëëçíéêÞ ãëþóóá.</para> <sect3 id="shell-sh"> <title>Ñõèìßóåéò ãéá ôï êÝëõöïò &man.sh.1;</title> <para>Áí ôï êÝëõöïò ðïõ ÷ñçóéìïðïéïýìå åßíáé ôï &man.sh.1;, ðñÝðåé íá âÜëïõìå óôï áñ÷åßï <filename>.profile</filename> ôïõ ëïãáñéáóìïý ìáò ôéò åîÞò ñõèìßóåéò:</para> <programlisting>export LANG="el_GR.ISO8859-7" export LC_CTYPE="el_GR.ISO8859-7" export LC_COLLATE="el_GR.ISO8859-7" unset LC_ALL LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME</programlisting> </sect3> <sect3 id="shell-csh"> <title>Ñõèìßóåéò ãéá ôï êÝëõöïò &man.csh.1;</title> <para>Áí ôï êÝëõöïò ðïõ ÷ñçóéìïðïéïýìå åßíáé ôï &man.csh.1;, ðñÝðåé íá âÜëïõìå óôï áñ÷åßï <filename>.cshrc</filename> ôïõ ëïãáñéáóìïý ìáò ôéò åîÞò ñõèìßóåéò:</para> <programlisting>setenv LANG "C" setenv LC_CTYPE "el_GR.ISO8859-7" setenv LC_COLLATE "el_GR.ISO8859-7" unsetenv LC_ALL LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME</programlisting> </sect3> <sect3 id="shell-bash"> <title>Ñõèìßóåéò ãéá ôï êÝëõöïò bash</title> <para>Áí ôï êÝëõöïò ðïõ ÷ñçóéìïðïéïýìå åßíáé ôï <application>bash</application>, ðñÝðåé íá âÜëïõìå óôï áñ÷åßï <filename>.bashrc</filename> ôïõ ëïãáñéáóìïý ìáò ôéò åîÞò ñõèìßóåéò:</para> <programlisting>export LANG="el_GR.ISO8859-7" export LC_CTYPE="el_GR.ISO8859-7" export LC_COLLATE="el_GR.ISO8859-7" unset LC_ALL LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME</programlisting> <para>Åðßóçò, åéäéêÜ ãéá ôï <application>bash</application>, ðñÝðåé íá âÜëïõìå êáé ôéò åîÞò ñõèìßóåéò óôï áñ÷åßï <filename>.inputrc</filename> ôïõ ëïãáñéáóìïý ìáò:</para> <programlisting>set convert-meta Off set input-meta On set output-meta On</programlisting> </sect3> </sect2> </sect1> <sect1 id="xorg-setup"> <title>Ñõèìßóåéò ãéá ÅëëçíéêÜ óôï ãñáöéêü ðåñéâÜëëïí &xorg;</title> <para>Ôá ðéï óõíçèéóìÝíá ãñáöéêü ðåñéâÜëëïí åñãáóßáò óå &os; âáóßæïíôáé óôçí ðëáôöüñìá <application>&xorg;</application>. Ïé ñõèìßóåéò ãéá õðïóôÞñéîç Åëëçíéêþí óå &xorg; åßíáé åíôåëþò ßäéåò ìå áõôÝò ðïõ ÷ñçóéìïðïéåß ôï ðåñéâÜëëïí &xorg; êáé óå Üëëá UNIX óõóôÞìáôá (ð.÷. óå GNU/Linux).</para> <para>Áñ÷éêÜ, ðñÝðåé íá ñõèìßóåôå ôï ðåñéâÜëëïí &xorg; Ýôóé þóôå íá îåêéíÜ óùóôÜ—áêüìç êáé ÷ùñßò ÅëëçíéêÜ. Ãéá ðëçñïöïñßåò ó÷åôéêÜ ìå ôéò ðñþôåò áõôÝò ñõèìßóåéò, äåßôå <ulink url="&url.books.handbook;/x11.html">ôï áíôßóôïé÷ï êåöÜëáéï óôï Åã÷åéñßäéï ôïõ &os;</ulink>.</para> <para>Áöïý êáôáöÝñåôå íá ñõèìßóåôå ôá ðÜíôá ãéá íá îåêéíÜ ôï ãñáöéêü ðåñéâÜëëïí &xorg;, ðñÝðåé íá ôïðïèåôÞóåôå ôéò ðáñáêÜôù ãñáììÝò óôï áñ÷åßï <filename>/etc/x11/xorg.conf</filename>:</para> <programlisting>Section "InputDevice" Identifier "Keyboard1" Driver "kbd" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "us,el" Option "XkbOptions" "grp:alt_shift_toggle" EndSection</programlisting> <para>Áí óôï áñ÷åßï <filename>/etc/x11/xorg.conf</filename> õðÜñ÷åé Þäç Ýíá ôÝôïéï ôìÞìá, ìðïñåßôå íá ôñïðïðïéÞóåôå ôï õðÜñ÷ïí ôìÞìá. ×ñçóéìïðïéÞóôå ôïí ÷áñáêôÞñá <quote><literal>#</literal></quote> ãéá íá ó÷ïëéÜóåôå üðïéåò ãñáììÝò äå èÝëåôå íá êñáôÞóåôå áðü ôï áñ÷éêü <quote><literal>InputDevice</literal></quote>.</para> <note> <para>ÃåíéêÜ, õðÜñ÷ïõí ôïõëÜ÷éóôïí äýï äéáöïñåôéêÜ <quote><literal>InputDevice</literal></quote> ôìÞìáôá óå Ýíá óõíçèéóìÝíï áñ÷åßï <filename>/etc/x11/xorg.conf</filename>: Ýíá ãéá ôï ðñïêáèïñéóìÝíï ðëçêôñïëüãéï êé Ýíá ãéá ôï ðñïêáèïñéóìÝíï ðïíôßêé. Ðñïóï÷Þ íá êÜíåôå üðïéåò ôñïðïðïéÞóåéò Ý÷åôå êáôÜ íïõ óôï ôìÞìá ôï ïðïßï áíáöÝñåé ôï ðëçêôñïëüãéï (áõôü óçìáßíåé ôï <quote><literal>Identifier "Keyboard1"</literal></quote> ðáñáðÜíù).</para> </note> <para>Ìå ôéò ñõèìßóåéò ðïõ Ý÷ïõìå êÜíåé ùò ôþñá äåí Ý÷åé åíåñãïðïéçèåß ðëÞñùò ç ÅëëçíéêÞ õðïóôÞñéîç. Óôï FreeBSD êÜèå ðñüãñáììá, áêüìá êáé ôï ðåñéâÜëëïí &xorg; ðïõ ÷ñçóéìïðïéïýìå, åîáñôÜôáé áðü ôéò ôñÝ÷ïõóåò ñõèìßóåéò <quote>locale</quote>, ãéá íá îÝñåé óå ôé ãëþóóá äïõëåýïõìå.</para> <para>Ïé ðñïêáèïñéóìÝíåò ñõèìßóåéò locale õðïóôçñßæïõí ìüíï ôçí åéóáãùãÞ êáé áíÜãíùóç êåéìÝíïõ óå ÁããëéêÜ, ïðüôå ðñÝðåé íá áëëÜæïõìå ôéò ñõèìßóåéò áõôÝò ãéá íá ìðïñåß ôï ðåñéâÜëëïí &xorg; íá äïõëÝøåé óùóôÜ ìå ôçí ÅëëçíéêÞ ãëþóóá.</para> <para>Ãéá áõôüí ôïí ëüãï ðáñáìåôñïðïéïýìå ôï áñ÷åßï <filename>.xinitrc</filename> óôï ëïãáñéáóìü ìáò. Ðéï óõãêåêñéìÝíá èá ðñÝðåé íá ðñïóèÝóïõìå ôéò ðáñáêÜôù ãñáììÝò óå áõôü:</para> <programlisting>export LANG="el_GR.ISO8859-7" export LC_CTYPE="el_GR.ISO8859-7" export LC_COLLATE="el_GR.ISO8859-7"</programlisting> <para>Ìå áõôÝò ôéò ñõèìßóåéò, ôï ðåñéâÜëëïí &xorg; èá îåêéíÜ ìå ôï óùóôü <quote>process environment</quote> ãéá íá õðïóôçñßæåé ôçí ÅëëçíéêÞ ãëþóóá.</para> <para>ÐïëëÝò åöáñìïãÝò ðïõ ôñÝ÷ïõí óå ðåñéâÜëëïí &xorg; ìðïñïýí íá ñõèìéóôïýí ïñßæïíôáò ìéá óåéñÜ áðü <quote>X11 resources</quote>. ÁõôÜ ôá <quote>resources</quote> åßíáé, ãåíéêÜ, æåõãÜñéá áðü ôéìÝò ôçò ìïñöÞò:</para> <programlisting>¼íïìáResource: ÔéìÞ ôïõ resource</programlisting> <para>Ïé ôéìÝò áõôÝò ïñßæïíôáé óôï áñ÷åßï <filename>.Xresources</filename> ôïõ ëïãáñéáóìïý ìáò.</para> <para>Ãéá ôï <application>XTerm</application> êáé áíôßóôïé÷åò åöáñìïãÝò ôåñìáôéêïý, ìðïñåß íá ñõèìéóôåß ç ãñáììáôïóåéñÜ Ýôóé þóôå íá ÷ñçóéìïðïéåßôáé ìéá ìå ÅëëçíéêÞ õðïóôÞñéîç, ïñßæïíôáò ôéò ðáñáêÜôù ôéìÝò óôï áñ÷åßï <filename>.Xresources</filename>:</para> <programlisting>XTerm*font: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-7</programlisting> <note> <para>ÌåôÜ áðü áëëáãÝò óôï áñ÷åßï <filename>.Xresources</filename>, äå ÷ñåéÜæåôáé åðáíåêêßíçóç ôïõ ðåñéâÜëëïíôïò &xorg;. Áñêåß áðëÜ íá ôñÝîïõìå ôçí åíôïëÞ:</para> <screen>&prompt.user; <userinput>xrdb -merge ~/.Xresources</userinput></screen> </note> </sect1> <sect1 id="various-apps"> <title>Ñõèìßóåéò ãéá ÅëëçíéêÜ óå äéÜöïñåò åöáñìïãÝò.</title> <para>Ãéá íá äéáâÜæïõìå êáé íá ãñÜöïõìå &iso-greek; ÅëëçíéêÜ ìå ôïí åðåîåñãáóôÞ êåéìÝíïõ <filename role="package">editors/emacs</filename> èá ðñÝðåé íá ðñïóèÝóïõìå óôï <filename>.emacs</filename> ôïõ ëïãáñéáóìïý ìáò ôéò åîÞò ñõèìßóåéò:</para> <programlisting>(setq unibyte-display-via-language-environment t) (if (< emacs-major-version 22) (set-language-environment "Greek")) (set-terminal-coding-system 'greek-iso-8bit) (set-input-mode (car (current-input-mode)) (nth 1 (current-input-mode)) 0)</programlisting> <para>Ãéá íá äéáâÜæïõìå êáé íá ãñÜöïõìå åëëçíéêÜ ìå ôïí åðåîåñãáóôÞ êåéìÝíïõ <filename role="package">editors/vim</filename> óå ãñáöéêü ðåñéâÜëëïí, èá ðñÝðåé íá ðñïóèÝóïõìå óôï áñ÷åßï <filename>.vimrc</filename> ôïõ ëïãáñéáóìïý ìáò ôéò åîÞò ñõèìßóåéò:</para> <programlisting>set gfs=fixedgr</programlisting> <para>Ãéá íá äéáâÜæïõìå êáé íá ãñÜöïõìå åëëçíéêÜ ìå ôï ðñüãñáììá çëåêôñïíéêÞò áëëçëïãñáößáò <application>mutt</application> èá ðñÝðåé íá ðñïóèÝóïõìå óôï <filename>.muttrc</filename> ôï ðáñáêÜôù êïììÜôé:</para> <programlisting>set charset="greek" set send_charset="US-ASCII:ISO-8859-1:ISO-8859-7:UTF-8"</programlisting> </sect1> </article> <!-- Local Variables: mode: sgml sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t fill-column: 78 indent-tabs-mode: nil End: -->