Linux console
લિનક્સ કન્સોલ એ લિનક્સ કર્નલનું આંતરિક સિસ્ટમ કન્સોલ છે. સિસ્ટમ કન્સોલ એ એવું ઉપકરણ છે જે તમામ કર્નલ સંદેશાઓ અને ચેતવણીઓ મેળવે છે અને જે સિંગલ યુઝર મોડમાં પ્રવેશની મંજૂરી આપે છે. લિનક્સ કન્સોલ કર્નલ અને અન્ય પ્રક્રિયાઓને વપરાશકર્તાને ટેક્સ્ટ આઉટપુટ મોકલવા અને વપરાશકર્તા પાસેથી ટેક્સ્ટ ઇનપુટ પ્રાપ્ત કરવા માટે એક માર્ગ પ્રદાન કરે છે. વપરાશકર્તા સામાન્ય રીતે કમ્પ્યુટર કીબોર્ડ સાથે લખાણ દાખલ કરે છે અને કમ્પ્યુટર મોનિટર પર આઉટપુટ લખાણ વાંચે છે. લિનક્સ કર્નલ વર્ચ્યુઅલ કન્સોલને સપોર્ટ કરે છે-કન્સોલ જે તાર્કિક રીતે અલગ હોય છે, પરંતુ જે સમાન ભૌતિક કીબોર્ડ અને ડિસ્પ્લેને એક્સેસ કરે છે. લિનક્સ કન્સોલ (અને લિનક્સ વર્ચ્યુઅલ કન્સોલ) લિનક્સ કર્નલની વી. ટી. (વર્ચ્યુઅલ ટર્મિનલ) સબસિસ્ટમ દ્વારા લાગુ કરવામાં આવે છે, અને તે કોઈપણ યુઝર સ્પેસ સોફ્ટવેર પર આધાર રાખતા નથી. આ ટર્મિનલ ઇમ્યુલેટરથી વિપરીત છે, જે એક વપરાશકર્તા જગ્યા પ્રક્રિયા છે જે ટર્મિનલનું અનુકરણ કરે છે, અને સામાન્ય રીતે ગ્રાફિકલ પ્રદર્શન વાતાવરણમાં તેનો ઉપયોગ થાય છે. લિનક્સ કન્સોલ એ કર્નલની પ્રથમ વિશેષતાઓમાંની એક હતી અને તે મૂળરૂપે 1991માં લિનસ ટોરવાલ્ડ્સ દ્વારા લખવામાં આવી હતી (લિનક્સનો ઇતિહાસ જુઓ). બે મુખ્ય અમલીકરણ છેઃ ફ્રેમબફર અને ટેક્સ્ટ મોડ. ફ્રેમબફર અમલીકરણ એ આધુનિક લિનક્સ વિતરણોમાં મૂળભૂત છે, અને કર્નલ મોડ સેટિંગ સાથે મળીને, ડિસ્પ્લે હાર્ડવેર અને જ્યારે સિસ્ટમ બુટ થઈ રહી હોય ત્યારે ગ્રાફિક્સ બતાવવા જેવી સુવિધાઓ માટે કર્નલ-સ્તરનો ટેકો પૂરો પાડે છે. લેગસી ટેક્સ્ટ મોડ અમલીકરણનો ઉપયોગ સીજીએ, ઇજીએ, એમડીએ અને વીજીએ ગ્રાફિક્સ કાર્ડ્સ સાથે પીસી-સુસંગત સિસ્ટમોમાં કરવામાં આવ્યો હતો. બિન-x86 આર્કિટેક્ચર ફ્રેમબફર મોડનો ઉપયોગ કરે છે કારણ કે તેમના ગ્રાફિક્સ કાર્ડ્સ ટેક્સ્ટ મોડનો અમલ કરતા નથી. લિનક્સ કન્સોલ ફિક્સ્ડ-સાઇઝ બિટમેપ, મોનોસ્પેસ ફોન્ટ્સનો ઉપયોગ કરે છે, જે સામાન્ય રીતે અક્ષર દીઠ 8x16 પિક્સેલ્સ પર ડિફોલ્ટ થાય છે. લિનક્સ કન્સોલ એક વૈકલ્પિક કર્નલ સુવિધા છે, અને મોટાભાગની એમ્બેડેડ લિનક્સ સિસ્ટમો તેને સક્ષમ કરતી નથી. આ સિસ્ટમો સામાન્ય રીતે વૈકલ્પિક વપરાશકર્તા ઈન્ટરફેસ પ્રદાન કરે છે (દા. ત. વેબ આધારિત), અથવા ગ્રાફિકલ યુઝર ઇન્ટરફેસમાં તરત જ બુટ કરો અને વપરાશકર્તા સાથે વાતચીત કરવાના પ્રાથમિક માધ્યમ તરીકે આનો ઉપયોગ કરો. લિનક્સ કન્સોલના અન્ય અમલીકરણમાં રિફ્રેશ કરી શકાય તેવા બ્રેઇલ ડિસ્પ્લે અને સીરીયલ પોર્ટ કન્સોલને ટેકો આપવા માટે બ્રેઇલ કન્સોલનો સમાવેશ થાય છે. હેતુ લિનક્સ કન્સોલ કર્નલ અને અન્ય પ્રક્રિયાઓ માટે વપરાશકર્તાને ટેક્સ્ટ-આધારિત સંદેશાઓ આઉટપુટ કરવા અને વપરાશકર્તા પાસેથી ટેક્સ્ટ-આધારિત ઇનપુટ પ્રાપ્ત કરવા માટે એક માર્ગ પ્રદાન કરે છે. લિનક્સમાં, કેટલાક ઉપકરણોનો ઉપયોગ સિસ્ટમ કન્સોલ તરીકે થઈ શકે છેઃ વર્ચ્યુઅલ ટર્મિનલ, સીરીયલ પોર્ટ, યુએસબી સીરીયલ પોર્ટ, ટેક્સ્ટ-મોડમાં વીજીએ, ફ્રેમબફર. કેટલીક આધુનિક લિનક્સ-આધારિત સિસ્ટમોમાં કર્નલ આધારિત ટેક્સ્ટ-મોડ ઇનપુટ અને આઉટપુટની અવગણના કરવામાં આવે છે, અને તેના બદલે જ્યારે સિસ્ટમ બુટ થઈ રહી હોય ત્યારે ગ્રાફિકલ લોગો અથવા પ્રગતિ પટ્ટી દર્શાવે છે, ત્યારબાદ ગ્રાફિકલ યુઝર ઇન્ટરફેસની તાત્કાલિક શરૂઆત થાય છે (દા. ત. ડેસ્કટોપ વિતરણો પર X.Org સર્વર, અથવા એન્ડ્રોઇડ પર સરફેસફ્લિંજર). કર્નલ બૂટ દરમિયાન, કન્સોલનો ઉપયોગ સામાન્ય રીતે કર્નલના બૂટ લોગને પ્રદર્શિત કરવા માટે થાય છે. બૂટ લોગમાં શોધાયેલ હાર્ડવેર વિશેની માહિતી અને બૂટ પ્રક્રિયાની સ્થિતિ પર અપડેટ્સ શામેલ છે. આ સમયે, કર્નલ એકમાત્ર સોફ્ટવેર છે જે ચાલી રહ્યું છે, અને તેથી વપરાશકર્તા-જગ્યા દ્વારા લોગ ઇન કરો (દા. ત. syslog) શક્ય નથી, તેથી કન્સોલ આ માહિતીને આઉટપુટ કરવા માટે અનુકૂળ સ્થાન પ્રદાન કરે છે. એકવાર કર્નલ બૂટિંગ પૂર્ણ કરી લે, તે init પ્રક્રિયા ચલાવે છે (કન્સોલ પર આઉટપુટ પણ મોકલે છે), જે કોઈપણ બેકગ્રાઉન્ડ ડિમોન્સ શરૂ કરવા સહિત બાકીની સિસ્ટમના બૂટિંગને સંભાળે છે. init બુટ પ્રક્રિયા પૂર્ણ થયા પછી, કન્સોલનો ઉપયોગ બહુવિધ વર્ચ્યુઅલ ટર્મિનલ્સને મલ્ટિપ્લેક્સ કરવા માટે કરવામાં આવશે (સી. ટી. આર. એલ.-અલ્ટ-એફ1, સી. ટી. આર. એલ.-અલ્ટ-એફ2 વગેરે દબાવીને, સી. ટી. આર. એલ.-અલ્ટ-લેફ્ટએરો, સી. ટી. આર. એલ.-અલ્ટ-રાઇટએરો, અથવા સી. એચ. વી. ટી. નો ઉપયોગ કરીને સુલભ). દરેક વર્ચ્યુઅલ ટર્મિનલ પર, ગેટ્ટી પ્રક્રિયા ચલાવવામાં આવે છે, જે વપરાશકર્તાને પ્રમાણિત કરવા માટે/બિન/લોગિન ચલાવે છે. પ્રમાણીકરણ પછી, એક આદેશ શેલ ચલાવવામાં આવશે. વર્ચ્યુઅલ ટર્મિનલ, કન્સોલની જેમ, લિનક્સ કર્નલ સ્તરે સપોર્ટેડ છે. લિનક્સ કન્સોલ ટર્મિનલ પ્રકારના "લિનક્સ" નો અમલ કરે છે અને તે જે એસ્કેપ સિક્વન્સનો ઉપયોગ કરે છે તે કન્સોલ _ કોડ્સ મેન પેજમાં હોય છે. વર્ચ્યુઅલ કન્સોલ બહુવિધ ટેક્સ્ટ બફરના સંગ્રહને મંજૂરી આપે છે, જે વિવિધ કન્સોલ પ્રોગ્રામ્સને એક સાથે ચલાવવા માટે સક્ષમ કરે છે પરંતુ વિવિધ સંદર્ભોમાં વપરાશકર્તા સાથે ક્રિયાપ્રતિક્રિયા કરે છે. વપરાશકર્તાના દૃષ્ટિકોણથી, આ કેટલાક સ્વતંત્ર કન્સોલનો ભ્રમ પેદા કરે છે. દરેક વર્ચ્યુઅલ કન્સોલનું પોતાનું કેરેક્ટર સેટ અને કીબોર્ડ લેઆઉટ હોઈ શકે છે. લિનક્સ 2.6 એ દરેક વર્ચ્યુઅલ કન્સોલ માટે અલગ ફોન્ટ લોડ કરવાની ક્ષમતા રજૂ કરી હતી (કર્નલ વર્ઝન 2.6 ની પહેલાંની આવૃત્તિઓ માત્ર માંગ પર ફોન્ટ બદલે છે). ટેક્સ્ટ મોડ કન્સોલ ટેક્સ્ટ મોડ અમલીકરણનો ઉપયોગ પીસી-આધારિત સિસ્ટમો પર વારસાગત સીજીએ/ઇજીએ/એમડીએ/વીજીએ વિડિયો કાર્ડ સાથે થાય છે જે ટેક્સ્ટ-આધારિત વિડિયો મોડનો અમલ કરે છે. ટેક્સ્ટ મોડમાં, કર્નલ વિડિયો કાર્ડ પર અક્ષરોની 2D શ્રેણી મોકલે છે, અને વિડિયો કાર્ડ અક્ષરોને ડિસ્પ્લે માટે પિક્સેલ્સમાં રૂપાંતરિત કરે છે. ફોન્ટ, અક્ષર સમૂહ અને કીબોર્ડ લેઆઉટ ટેક્સ્ટ બફર એ વીજીએ મેમરીનો એક ભાગ છે જે કોડ પોઇન્ટ અને અક્ષર વિશેષતાઓના સંદર્ભમાં ટેક્સ્ટ સ્ક્રીનની સામગ્રીનું વર્ણન કરે છે. ટેક્સ્ટ બફર અને ફોન્ટમાં કોડ પોઇન્ટ સામાન્ય રીતે સ્ક્રીન પર અક્ષરો મૂકવા માટે ટેક્સ્ટ ટર્મિનલ સિમેન્ટિક્સમાં ઉપયોગમાં લેવાતા એન્કોડિંગ જેવા નથી. સ્ક્રીન પરના ગ્લિફ્સનો સમૂહ વર્તમાન ફોન્ટ દ્વારા નક્કી થાય છે. ટેક્સ્ટ સ્ક્રીનને અને ડ્રાઇવરો દ્વારા નિયંત્રિત કરવામાં આવે છે. ફોન્ટ્સ અને ટર્મિનલ એન્કોડિંગને બદલવા માટે એક ઉપયોગિતા છે જેને કહેવાય છે. લિનક્સ કર્નલ (ડ્રાઇવર) પાસે કીબોર્ડ ઇનપુટ (કીબોર્ડ લેઆઉટ) માટે લગભગ સંપૂર્ણ ટેકો છે, પરંતુ તે થોડો અસંગત રહે છે કારણ કે તે વિવિધ અક્ષર સમૂહો સાથે ખરાબ રીતે ક્રિયાપ્રતિક્રિયા કરે છે. લેઆઉટ ઉપયોગિતા દ્વારા લોડ કરવામાં આવે છે. આ બે ઉપયોગિતાઓ અને અનુરૂપ ડેટા ફાઇલો લિનક્સ કન્સોલ ટૂલ્સ http://lct.sourceforge.net માં પેક કરવામાં આવે છે જે ઘણા લિનક્સ વિતરણો સાથે મોકલવામાં આવે છે. કર્નલ સ્તરે લિનક્સના આંતરરાષ્ટ્રીયકરણના પ્રયાસો 1994માં માર્કસ કુહ્ન અને એન્ડ્રીઝ બ્રોવર દ્વારા શરૂ કરવામાં આવ્યા હતા. લખાણ સ્થિતિઓ લિનક્સ કન્સોલ કોઈપણ વીજીએ-શૈલીના લખાણ સ્થિતિને ટેકો આપવા માટે સક્ષમ છે, પરંતુ કર્નલ પાસે આ સ્થિતિઓને સુયોજિત કરવા માટે ખૂબ જ મર્યાદિત માધ્યમો છે. એસ. વી. જી. એ. ટેક્સ્ટમોડ પ્રમાણભૂત ઇ. જી. એ. અને વી. જી. એ. સ્થિતિઓ કરતાં વધુ જટિલ લખાણ સ્થિતિઓને સક્ષમ કરવામાં મદદ કરે છે. તે કન્સોલ ટૂલ્સ સાથે સંપૂર્ણપણે સુસંગત છે, પરંતુ ડોસેમુ, એસ. વી. જી. એ. એલ. બી. અને ડિસ્પ્લે સર્વર સાથે કેટલાક વિરોધાભાસ ધરાવે છે. હાલમાં, વિવિધ વર્ચ્યુઅલ કન્સોલ પર વિવિધ સ્થિતિઓ માટે કોઈ આધાર નથી. વિન્ડોઝ અને ડી. ઓ. એસ. માઇક્રોસોફ્ટ વિન્ડોઝ (કોઈપણ સંસ્કરણના) સાથે સરખામણીમાં કન્સોલનો સંપૂર્ણ કાર્યાત્મક આધાર નથી. ત્યાં તુલનાત્મક સુવિધા, પરંતુ માત્ર એપ્લિકેશન સોફ્ટવેર માટે, વિન 32 કન્સોલ છે. યુનિકોડ વિન્ડોઝ એન. ટી. આધારિત સિસ્ટમોથી સમર્થિત છે, જે કોડ પૃષ્ઠોને બદલવા અને યુનિકોડનો ઉપયોગ કરવાની મંજૂરી આપે છે, પરંતુ માત્ર વિન્ડો મોડમાં. ઉપરાંત, એનટી સિસ્ટમો વીજીએ સાથે અસંગત પોતાના ટેક્સ્ટ બફર ફોર્મેટનો ઉપયોગ કરે છે, જે હાર્ડવેર ટેક્સ્ટ મોડ્સમાં ઓવરહેડ ઉત્પન્ન કરે છે. વિન્ડોઝના બિન-એન. ટી. વર્ઝનમાં કોઈ યુનિકોડ સપોર્ટ નથી કારણ કે બિન-એ. એસ. સી. આઈ. આઈ. કીબોર્ડ લેઆઉટને ખામીયુક્ત અમલીકરણને કારણે ફરીથી લોડ કરવું જોઈએ. તાજેતરના કર્નલોમાં કર્નલ મોડ સેટિંગ્સ કેટલાક વિડિયો હાર્ડવેર માટે આને વધુ વ્યવહારુ બનાવે છે. લિનક્સ ફ્રેમબફર કન્સોલ લિનક્સ ફ્રેમબફર (એફ. બી. ડી. વી.) એ ગ્રાફિક હાર્ડવેર-સ્વતંત્ર અમૂર્ત સ્તર છે, જે મૂળરૂપે લિનક્સ કર્નલને એપલ મેકિન્ટોશ જેવી સિસ્ટમો પર ટેક્સ્ટ કન્સોલનું અનુકરણ કરવાની મંજૂરી આપવા માટે અમલમાં મૂકવામાં આવ્યું હતું, જેમાં ટેક્સ્ટ-મોડ ડિસ્પ્લે નથી. હવે તે કોઈપણ પ્લેટફોર્મ પર કર્નલ સ્પેસ ટેક્સ્ટ મોડ એમુલેશન પ્રદાન કરે છે. એસ. વી. જી. એ. ટી. ટેક્સટમોડ (હાલમાં બિનસંરક્ષિત) પર તેનો ફાયદો એ નિર્ભરતા અને વધુ સારી હાર્ડવેર સુસંગતતા છે. તે વીજીએ ટેક્સ્ટ મોડ્સના તમામ તકનીકી પ્રતિબંધોને દૂર કરવાની પણ મંજૂરી આપે છે. લિનક્સ ફ્રેમબફર કન્સોલ માત્ર અક્ષરો દોરવાની રીતમાં વીજીએથી અલગ છે. કીબોર્ડ ઇવેન્ટ્સ અને વર્ચ્યુઅલ કન્સોલના સપોર્ટની પ્રક્રિયા બરાબર સમાન છે. લિનક્સ સીરીયલ પોર્ટ કન્સોલ લિનક્સ સીરીયલ કન્સોલ એ સીરીયલ પોર્ટ મારફતે કન્સોલ અમલીકરણ છે, જે કર્નલ રૂપરેખાંકનમાં CONFIG _ SERIAL _ CONSOLE વિકલ્પ દ્વારા સક્ષમ છે. તેનો ઉપયોગ કેટલીક એમ્બેડેડ સિસ્ટમોમાં અને સર્વર્સ પર થઈ શકે છે, જ્યાં ઓપરેટર સાથે સીધી ક્રિયાપ્રતિક્રિયાની અપેક્ષા નથી. સીરીયલ કન્સોલ સિસ્ટમ માટે સમાન અભિગમની મંજૂરી આપે છે, પરંતુ સામાન્ય રીતે આરએસ-232ની નાની બેન્ડવિડ્થને કારણે ધીમી ઝડપે. સીરીયલ કન્સોલનો ઉપયોગ ઘણીવાર એમ્બેડેડ સિસ્ટમો માટે સોફ્ટવેરના વિકાસ દરમિયાન થાય છે, અને કેટલીકવાર તેને ડીબગ પોર્ટ દ્વારા સુલભ રાખવામાં આવે છે. નિયંત્રણ અક્ષરો કન્સોલ સંખ્યાબંધ નિયંત્રણ અક્ષરોને પ્રતિસાદ આપે છેઃ માટે [એસ્કેપ કી દબાવો. કન્સોલ વિસ્તૃત એસ્કેપ સિક્વન્સ, એએનએસઆઈ સીએસઆઈ મોડ સિક્વન્સ અને ડીઇસી પ્રાઇવેટ મોડ સિક્વન્સને પણ સપોર્ટ કરે છે. આ વિસ્તૃત સિક્વન્સ રંગો, ઝબકતા, રેખાંકિત, તીવ્રતા અને વ્યસ્ત વિડિયો, બેલ ટોન આવર્તન અને સમયગાળો, VESA સ્ક્રીન બ્લેન્કિંગ અંતરાલ જેવી દ્રશ્ય અસરોને નિયંત્રિત કરી શકે છે. લખાણ ખાલી કરવા સિવાય, વીજીએ એડેપ્ટરને સ્ટેન્ડબાયમાં મૂકવાની કોઈ જાણીતી રીત નથી. ભવિષ્યની યોજનાઓ કેએમએસકોન પ્રોજેક્ટનો ઉદ્દેશ લિનક્સ કન્સોલ માટે આધુનિક યુઝર-સ્પેસ રિપ્લેસમેન્ટ બનાવવાનો છે. વિકાસની પ્રાથમિકતાઓમાં મલ્ટી-મોનિટર સેટઅપ માટે સપોર્ટ, પેંગો સાથે યુનિકોડ ફોન્ટ રેન્ડરિંગ, એક્સકેબી કીબોર્ડ હેન્ડલિંગ અને જીપીયુ ઓપનજીએલ પ્રવેગકનો સમાવેશ થાય છે. વર્તમાન કર્નલ અમલીકરણ વિશેની ફરિયાદોમાં સમાવેશ થાય છે કે "તે કર્નલ-સ્પેસમાં વપરાશકર્તા-ઇન્ટરફેસ છે, કોડ નબળી રીતે જાળવવામાં આવે છે, કીબોર્ડને ખરાબ રીતે સંભાળે છે, ખરાબ ફોન્ટ રેન્ડરિંગ ઉત્પન્ન કરે છે, મોડ-સેટિંગ અને મલ્ટી-હેડ સપોર્ટ ચૂકી જાય છે, તેમાં કોઈ મલ્ટી-સીટ જાગૃતિ નથી, અને માત્ર મર્યાદિત હોટ-પ્લગિંગ હેન્ડલિંગ છે, જે VT102 પાલન સુધી મર્યાદિત છે". કન્સોલ સાથે સંબંધિત/ડેવ/એન્ટ્રીઓની યાદી પણ જુઓ વિન્ડોઝ કન્સોલ સંદર્ભો કમ્પ્યુટર ટર્મિનલ્સ લિનક્સ કર્નલ ટેક્સ્ટ વપરાશકર્તા ઈન્ટરફેસ