Кіріспе

X терезесі жүйесінде X сессия менеджері – сеансты басқару бағдарламасы, терезе менеджерін қоса алғанда, іске қосылған бағдарламалар жиынтығының ағымдағы күйін сақтап, қалпына келтіре алатын бағдарлама.

Шолу

X сессия менеджерінің көзқарасы бойынша сессия – белгілі бір уақыттағы жұмыс үстелінің “күйі”: ағымдағы мазмұнымен терезелер жиынтығы. Нақтырақ айтқанда, сессия – осы терезелерді басқаратын немесе олармен байланысты клиенттер жиынтығы және қажет болған жағдайда осы қосымшаларға терезелердің күйін қалпына келтіруге мүмкіндік беретін ақпарат. Сессия менеджерін пайдаланудың ең танымал нәтижесі – интерактивті сессиядан шығып, кейіннен кіргенде дәл сол терезелерді сол күйде табу мүмкіндігі. Бұл үшін сессия менеджері бағдарламасы жүйеден шығарда іске қосылған қосымшалардың атауларын сақтап, жүйеге кіргенде оларды қайта іске қосады. Сонымен қатар, қосымшалардың күйін де қалпына келтіру үшін (терезелердің мазмұнын қалпына келтіру үшін қажет), қосымшалар сессия менеджерінің сұрауы бойынша орындалу күйін сақтауға және қайта іске қосылғанда оны жүктеуге қабілетті болуы керек. Жалпы, сессияны пайдаланушы кірмесе не шықпаса да, кез келген уақытта сақтауға немесе жүктеуге болады. Сондай-ақ, бірнеше сессияны сақтап, пайдаланушының таңдауы бойынша олардың біреуін жүктеуге болады. Сессияны құрайтын қосымшалар тізімін беріп анықтауға да болады. Нәтижесінде, пайдаланушы әртүрлі сессиялар жиынтығын сақтау мүмкіндігіне ие, қазіргі іске қосылған қосымшалардың орындалу күйін сақтау арқылы немесе сессияны құрайтын қосымшаларды тізімдеу арқылы. Осылайша, пайдаланушы кейіннен белгілі бір сессияны жүктеуді шеше алады.

XSMP протоколы

Сессия қосымшаның күйін қамтуы үшін, қосымша сессия менеджерінің сұрауы бойынша (әдетте пайдаланушы кіргенде немесе шыққанда) өзінің ағымдағы күйін сақтап, қайта жүктеуге қабілетті болуы керек. X сессияны басқару протоколы (XSMP) деп аталатын протокол, қосымшалар мен сессия менеджерлерінің өзара әрекеттесу тәсілін анықтайды. XSMP хабарлама форматы, Клиенттер аралық алмасу (ICE) хабарлама форматымен сәйкес келеді. Ерекше маңыздысы – терезе менеджерінің сессия менеджерімен байланыса алуы, себебі терезе менеджері терезелерді орналастыру және белгішелердің болуы үшін жауапты. Өз күйін сақтай алмайтын қосымшаларды сессияға қосуға болады, бірақ олар сессиялар арасында күйін сақтамайды.

Хаттама

XSMP – Клиенттер аралық алмасу протоколының ішкі протоколы болып табылады. Клиент протоколды сессия менеджеріне қосылу арқылы бастайды. Сессия менеджерінің желіде қалай орналасқаны жүйеге байланысты: POSIX жүйесінде ортада SESSION MANAGER айнымалысы болады. Сондықтан клиент іске қосылғанда, оның ортасында осы айнымалыға дұрыс мән берілген болуы керек.

Жергілікті және жаһандық жағдай

Клиенттен күйін сақтауды сұрағанда терезе менеджері жергілікті немесе жаһандық күйді (немесе екеуін де) сақтау қажеттігін көрсетуі мүмкін. Айырмашылығы – сақтау нәтижесі басқа қолданбаларға көріне ме, көрінбей ме. Мәтін редакторының жағдайында жаһандық күйді сақтау – файлды қалыпты түрде сақтау, сонда басқа қолданбалар файлдың жаңа нұсқасын пайдалана алады. Ал жергілікті күйді сақтау – файлдың жергілікті көшірмесін сақтау, осылайша басқа қолданбалар файлды бастапқы нұсқасында көре алады.

Клиенттерді басқару сеанстары

XSMP протоколына сәйкес, сессия менеджері – басқа қолданбалардың күйін басқаратын және орындайтын кез келген бағдарлама (сервер). Осының нәтижесінде клиент өзі басқа клиенттердің сессиясын басқарушы бола алады. Мысалы, электрондық пошта клиенті электрондық хат жазу үшін мәтіндік редакторды іске қосып, редакторға қатысты сессия менеджерінің ролін атқара алады. Осылайша, егер электрондық пошта клиенті жабылып, қайта іске қосылса, мәтіндік редактордың күйін қалпына келтіре алады.

Қолданылу

X терезесі жүйесінде xsm деп аталатын әдепкі сеанс менеджері бар. Нақты жұмыс үстел орталары үшін басқа сеанс менеджерлері жасалған.

KDE-нің атауы

KDE Plasma 5 үстел ортасының бастапқы сессия менеджері.

Xfce

Бағдарлама Xfce негізіндегі десктоп орталары үшін әдепкі X сессия менеджері болып табылады. Xfce әртүрлі сессияларды жасауға және жүйелік жүктелу кезінде оларды таңдауға мүмкіндік береді.

Гном

GNOME жұмыс ортасы үшін әдепкі сессия менеджері. Gnome v1 нұсқасынан бастап XSMP-ді қолдайды. 2013 жылы GNOME 2.24 нұсқасында GNOME сессия менеджері XSMP-ді D Bus интерфейсімен алмастыруды жоспарлаған. Бірақ соңында екі интерфейсті біріктіріп, ескі бағдарламалар үшін адаптер (клиент) беру туралы шешім қабылданды. Алайда, сол кезде бұл мүмкіндіктер толыққанды іске асырылмаған және GNOME емес бағдарламалар оны пайдаланбаған. 2021 жылғы кодта әлі де X сессия менеджер клиенттері бар.

Қолданбалар арасындағы қолдау

Орындалатын қолданбалар көбінесе сеанстарды қолдауды (сеанс менеджерімен өзара әрекеттесуді) тікелей енгізбейді (кітапханалармен байланыстыру арқылы), бірақ KDE Plasma немесе GTK сияқты SDK арқылы осы мүмкіндікті жүзеге асырады, олар сеансты басқару және клиент-серверлік байланыс үшін процедураларды ұсынады. Кейбір қолданбалар мұндай мүмкіндікті қолдамай қалуы мүмкін.