XINIT(1) General Commands Manual XINIT(1)

xinit - راه‌انداز سامانه پنجره‌ای اکس

xinit [ [ client ] options ... ] [ -- [ server ] [ display ] options ... ]

برنامهٔ xinit برای راه‌اندازی سرور سامانهٔ پنجره‌ای اکس (X Window System) و اولین برنامهٔ کلاینت بر روی سیستم‌هایی که از یک مدیر نمایش مانند xdm(1) استفاده نمی‌کنند یا در محیط‌هایی که از چندین سامانه پنجره‌ای بهره می‌برند، استفاده می‌شود. هنگامی که این کلاینت اولیه خارج شود، xinit سرور X را خاتمه می‌دهد و سپس به کار خود پایان می‌دهد.

اگر هیچ برنامهٔ کلاینت مشخصی در خط فرمان مشخص نشده باشد، xinit در دایرکتوری خانگی کاربر به دنبال فایلی به نام .xinitrc می‌گردد تا آن را به عنوان یک اسکریپت شل برای راه‌اندازی برنامه‌های کلاینت اجرا کند. اگر چنین فایلی وجود نداشته باشد، xinit دستور زیر را به عنوان پیش‌فرض استفاده خواهد کرد:

xterm -geometry +1+1 -n login -display :0

اگر هیچ برنامهٔ سرور مشخصی در خط فرمان مشخص نشده باشد، xinit در دایرکتوری خانگی کاربر به دنبال فایلی به نام .xserverrc می‌گردد تا آن را به عنوان یک اسکریپت شل برای راه‌اندازی سرور اجرا کند. اگر چنین فایلی وجود نداشته باشد، xinit دستور زیر را به عنوان پیش‌فرض استفاده خواهد کرد:

X :0

توجه داشته باشید که این کار فرض می‌کند برنامه‌ای به نام X در مسیر جستجوی جاری وجود دارد. بنابراین، مدیر سیستم باید پیوندی به نوع سرور مناسب روی دستگاه ایجاد کند یا یک اسکریپت شل بسازد که xinit را با سرور مناسب اجرا کند.

توجه داشته باشید که هنگام استفاده از اسکریپت .xserverrc، حتماً سرور X واقعی را با «exec» اجرا کنید. کوتاهی در این کار می‌تواند راه‌اندازی و خروج سرور X را کُند کند. برای نمونه:

exec Xdisplaytype

یک نکتهٔ مهم این است که برنامه‌هایی که توسط .xinitrc اجرا می‌شوند، اگر بلافاصله خارج نمی‌شوند باید در پس‌زمینه اجرا شوند تا مانع راه‌اندازی سایر برنامه‌ها نشوند. با این حال، آخرین برنامهٔ با ماندگاری طولانی که راه‌اندازی شده است (معمولاً یک مدیر پنجره یا شبیه‌ساز پایانه) باید در پیش‌زمینه باقی بماند تا اسکریپت خارج نشود (خروج آن نشان می‌دهد که کار کاربر به پایان رسیده و xinit باید خاتمه یابد).

می‌توان کلاینت و/یا سرور جایگزینی را در خط فرمان مشخص کرد. برنامهٔ کلاینت مورد نظر و آرگومان‌های آن باید به عنوان اولین آرگومان‌های خط فرمان به xinit داده شوند. برای تعیین یک خط فرمان خاص برای سرور، یک خط تیرهٔ دوگانه (--) را به خط فرمان xinit (پس از هرگونه کلاینت و آرگومان‌های آن) اضافه کنید و در پی آن دستور سرور مورد نظر را بنویسید.

نام برنامهٔ کلاینت و نام برنامهٔ سرور هر دو باید با یک اسلش (/) یا یک نقطه (.) آغاز شوند. در غیر این صورت، با آن‌ها به عنوان آرگومان‌هایی رفتار می‌شود که باید به خطوط راه‌اندازی مربوطه‌شان اضافه شوند. این ویژگی افزودن آرگومان‌ها (برای نمونه، رنگ‌های پیش‌زمینه و پس‌زمینه) را بدون نیاز به تایپ دوبارهٔ کل خط فرمان ممکن می‌سازد.

اگر نام سرور صریحی تعیین نشده باشد و اولین آرگومان پس از خط تیرهٔ دوگانه (--) یک دونقطه به همراه یک رقم باشد، xinit از آن عدد به جای صفر به عنوان شمارهٔ نمایشگر استفاده خواهد کرد. همهٔ آرگومان‌های باقی‌مانده به خط فرمان سرور الحاق می‌شوند.

در ادامه چند نمونه از نحوهٔ به‌کارگیری آرگومان‌های خط فرمان در xinit آمده است.

این دستور سروری به نام X را راه‌اندازی کرده و در صورت وجود، .xinitrc کاربر را اجرا می‌کند، در غیر این صورت یک xterm را به کار می‌اندازد.
xinit -- /usr/bin/Xvnc :1
بدین صورت می‌توان نوع خاصی از سرور را روی یک نمایشگر جایگزین راه‌اندازی کرد.
xinit -geometry =80x65+10+10 -fn 8x13 -j -fg white -bg navy
این دستور سروری به نام X را راه‌اندازی می‌کند و آرگومان‌های داده‌شده را به دستور پیش‌فرض xterm اضافه می‌نماید. این کار .xinitrc را نادیده خواهد گرفت.
xinit -e widgets -- ./Xorg -l -c
این دستور از ./Xorg -l -c برای راه‌اندازی سرور استفاده کرده و آرگومان‌های -e widgets را به دستور پیش‌فرض xterm ملحق می‌سازد.
xinit /usr/bin/ssh -X fasthost cpupig -- :1 -a 2 -t 5
این دستور سروری به نام X را روی نمایشگر 1 با آرگومان‌های -a 2 -t 5 راه‌اندازی می‌کند. سپس یک شل راه دور را روی رایانهٔ fasthost باز می‌کند که در آن دستور cpupig را اجرا خواهد کرد، و به آن دستور می‌دهد که نمایش خروجی را به ایستگاه کاری محلی بازگرداند.

در زیر یک نمونه .xinitrc آمده است که یک ساعت، چند ترمینال را راه‌اندازی می‌کند و مدیر پنجره را به عنوان برنامهٔ «آخر» در حال اجرا باقی می‌گذارد. با فرض اینکه مدیر پنجره به درستی پیکربندی شده باشد، کاربر سپس گزینهٔ منوی «Exit» را برای خاموش کردن X انتخاب می‌کند.


xrdb -load $HOME/.Xresources
xsetroot -solid gray &
xclock -g 50x50-0+0 -bw 0 &
xload -g 50x50-50+0 -bw 0 &
xterm -g 80x24+0+0 &
xterm -g 80x24+0-0 &
twm

مراکزی که قصد ایجاد یک محیط راه‌اندازی مشترک را دارند می‌توانند به سادگی یک .xinitrc پیش‌فرض ایجاد کنند که به یک فایل راه‌اندازی سراسری سیستم ارجاع می‌دهد:


#!/bin/sh
. /etc/X11/xinit/site.xinitrc

روش دیگر، نوشتن اسکریپتی است که xinit را با یک اسکریپت شل مشخص اجرا کند. چنین اسکریپت‌هایی معمولاً با نام‌های x11، xstart یا startx نام‌گذاری می‌شوند و راهکاری مناسب برای فراهم کردن یک رابط ساده برای کاربران تازه‌کار هستند:


#!/bin/sh
xinit /etc/X11/xinit/site.xinitrc -- /usr/bin/X -br

این متغیر با نام نمایشگری مقداردهی می‌شود که کلاینت‌ها باید به آن متصل شوند.
این متغیر یک فایل آغازین حاوی دستورات شل را جهت راه‌اندازی پنجره‌های اولیه مشخص می‌کند. به صورت پیش‌فرض، فایل .xinitrc در دایرکتوری خانگی استفاده خواهد شد.

.xinitrc
اسکریپت کلاینت پیش‌فرض
کلاینتی که در صورت عدم وجود .xinitrc اجرا می‌شود
.xserverrc
اسکریپت سرور پیش‌فرض
سروری که در صورت عدم وجود .xserverrc اجرا می‌شود

X(7), startx(1), Xserver(1), Xorg(1), xorg.conf(5), xterm(1)

Bob Scheifler, MIT Laboratory for Computer Science

xinit 1.4.4 X Version 11