X сессия менеджері – X Window жүйесінде қолданбаларды сақтап, қайта жүктеуге мүмкіндік беретін бағдарлама. Сессияны қалпына келтіріп, жұмысты жалғастырыңыз!
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
X терезесі жүйесінде X сессия менеджері – сеансты басқару бағдарламасы, терезе менеджерін қоса алғанда, іске қосылған бағдарламалар жиынтығының ағымдағы күйін сақтап, қалпына келтіре алатын бағдарлама.
In the X Window System, an X session manager is a session management program, a program that can save and restore the current state of a set of running applications, including window manager.
Шолу
X сессия менеджерінің көзқарасы бойынша сессия – белгілі бір уақыттағы жұмыс үстелінің “күйі”: ағымдағы мазмұнымен терезелер жиынтығы. Нақтырақ айтқанда, сессия – осы терезелерді басқаратын немесе олармен байланысты клиенттер жиынтығы және қажет болған жағдайда осы қосымшаларға терезелердің күйін қалпына келтіруге мүмкіндік беретін ақпарат. Сессия менеджерін пайдаланудың ең танымал нәтижесі – интерактивті сессиядан шығып, кейіннен кіргенде дәл сол терезелерді сол күйде табу мүмкіндігі. Бұл үшін сессия менеджері бағдарламасы жүйеден шығарда іске қосылған қосымшалардың атауларын сақтап, жүйеге кіргенде оларды қайта іске қосады. Сонымен қатар, қосымшалардың күйін де қалпына келтіру үшін (терезелердің мазмұнын қалпына келтіру үшін қажет), қосымшалар сессия менеджерінің сұрауы бойынша орындалу күйін сақтауға және қайта іске қосылғанда оны жүктеуге қабілетті болуы керек. Жалпы, сессияны пайдаланушы кірмесе не шықпаса да, кез келген уақытта сақтауға немесе жүктеуге болады. Сондай-ақ, бірнеше сессияны сақтап, пайдаланушының таңдауы бойынша олардың біреуін жүктеуге болады. Сессияны құрайтын қосымшалар тізімін беріп анықтауға да болады. Нәтижесінде, пайдаланушы әртүрлі сессиялар жиынтығын сақтау мүмкіндігіне ие, қазіргі іске қосылған қосымшалардың орындалу күйін сақтау арқылы немесе сессияны құрайтын қосымшаларды тізімдеу арқылы. Осылайша, пайдаланушы кейіннен белгілі бір сессияны жүктеуді шеше алады.
From the point of view of an X session manager, a session is a “state of the desktop” at a given time: a set of windows with their current content. More precisely, a session is the set of clients managing these windows or related to them and the information that allows these applications to restore the condition of these windows if required. The most recognizable effect of using a session manager is the possibility of logging out from an interactive session and then finding exactly the same windows in the same state when logging in again. For this to work, the session manager program stores the names of applications that are running at logout and starts them again at login. Moreover, for the state of the applications to be restored as well (which is needed to restore the content of windows), the applications must be able to save their state of execution upon request from the session manager and load it back when started again. In general, a session can be saved or loaded at any time, even if the user is not logging in or out. It is also possible to save a number of different sessions and loading one of them at user's choice. Sessions can also be specified by providing the list of applications that compose the session. As a result, the user has the possibility of saving a set of different sessions, either by storing the state of execution of the currently running applications or by explicitly listing the applications that compose a session. This way, the user can later decide to load a given session.
XSMP протоколы
Сессия қосымшаның күйін қамтуы үшін, қосымша сессия менеджерінің сұрауы бойынша (әдетте пайдаланушы кіргенде немесе шыққанда) өзінің ағымдағы күйін сақтап, қайта жүктеуге қабілетті болуы керек. X сессияны басқару протоколы (XSMP) деп аталатын протокол, қосымшалар мен сессия менеджерлерінің өзара әрекеттесу тәсілін анықтайды. XSMP хабарлама форматы, Клиенттер аралық алмасу (ICE) хабарлама форматымен сәйкес келеді. Ерекше маңыздысы – терезе менеджерінің сессия менеджерімен байланыса алуы, себебі терезе менеджері терезелерді орналастыру және белгішелердің болуы үшін жауапты. Өз күйін сақтай алмайтын қосымшаларды сессияға қосуға болады, бірақ олар сессиялар арасында күйін сақтамайды.
In order for a session to include the state of an application, the application must be able to store and load its current state when session manager request to do so (usually on user login or logout). A protocol named X Session Management Protocol (XSMP) specifies how applications and session managers interact. The XSMP message format is the same as the Inter Client Exchange (ICE) message format. Of particular importance is that the window manager is able to communicate with the session manager, as the window manager is responsible for the placement of windows and the existence of icons. Applications that cannot store their state can be included in a session, but they do not preserve their state across sessions.
Хаттама
XSMP – Клиенттер аралық алмасу протоколының ішкі протоколы болып табылады. Клиент протоколды сессия менеджеріне қосылу арқылы бастайды. Сессия менеджерінің желіде қалай орналасқаны жүйеге байланысты: POSIX жүйесінде ортада SESSION MANAGER айнымалысы болады. Сондықтан клиент іске қосылғанда, оның ортасында осы айнымалыға дұрыс мән берілген болуы керек.
The XSMP is a subprotocol of the Inter Client Exchange Protocol. The client starts the protocol by connecting to the session manager. How the session manager is located on the network is system dependent: in a POSIX system, the environment contains a variable SESSION MANAGER. Therefore, when a client is launched, its environment must contain this variable with an appropriate value.
Жергілікті және жаһандық жағдай
Клиенттен күйін сақтауды сұрағанда терезе менеджері жергілікті немесе жаһандық күйді (немесе екеуін де) сақтау қажеттігін көрсетуі мүмкін. Айырмашылығы – сақтау нәтижесі басқа қолданбаларға көріне ме, көрінбей ме. Мәтін редакторының жағдайында жаһандық күйді сақтау – файлды қалыпты түрде сақтау, сонда басқа қолданбалар файлдың жаңа нұсқасын пайдалана алады. Ал жергілікті күйді сақтау – файлдың жергілікті көшірмесін сақтау, осылайша басқа қолданбалар файлды бастапқы нұсқасында көре алады.
When asking a client to save its state, the window manager can specify whether the local or global state (or both) has to be saved. The difference is whether the result of the save should be visible to the other applications or not. In the case of the text editor, saving the global state means saving the file normally, so that other applications can use the new version of the file. Saving the local state means that a local copy of the file has to be saved, so that other applications can see the file in its original version.
Клиенттерді басқару сеанстары
XSMP протоколына сәйкес, сессия менеджері – басқа қолданбалардың күйін басқаратын және орындайтын кез келген бағдарлама (сервер). Осының нәтижесінде клиент өзі басқа клиенттердің сессиясын басқарушы бола алады. Мысалы, электрондық пошта клиенті электрондық хат жазу үшін мәтіндік редакторды іске қосып, редакторға қатысты сессия менеджерінің ролін атқара алады. Осылайша, егер электрондық пошта клиенті жабылып, қайта іске қосылса, мәтіндік редактордың күйін қалпына келтіре алады.
According to the XSMP protocol, a session manager is an arbitrary program (server) that runs and controls the state of other applications. As a result, a client can itself be a session manager of other clients. For example, a mail client can start a text editor for the sake of writing an email, and behave as a session manager with respect to the editor. This way, if the mail client is closed and then restarted again, it can restore the state of the text editor.
Қолданылу
X терезесі жүйесінде xsm деп аталатын әдепкі сеанс менеджері бар. Нақты жұмыс үстел орталары үшін басқа сеанс менеджерлері жасалған.
The X Window System includes a default session manager called xsm. Other session managers have been developed for specific desktop environments.
KDE-нің атауы
KDE Plasma 5 үстел ортасының бастапқы сессия менеджері.
is a default session manager of KDE Plasma 5 Desktop environment.
Xfce
Бағдарлама Xfce негізіндегі десктоп орталары үшін әдепкі X сессия менеджері болып табылады. Xfce әртүрлі сессияларды жасауға және жүйелік жүктелу кезінде оларды таңдауға мүмкіндік береді.
program is a default X Session Manager for Xfce based DEs. Xfce allows to create different sessions and choose them at startup.
Гном
GNOME жұмыс ортасы үшін әдепкі сессия менеджері. Gnome v1 нұсқасынан бастап XSMP-ді қолдайды. 2013 жылы GNOME 2.24 нұсқасында GNOME сессия менеджері XSMP-ді D Bus интерфейсімен алмастыруды жоспарлаған. Бірақ соңында екі интерфейсті біріктіріп, ескі бағдарламалар үшін адаптер (клиент) беру туралы шешім қабылданды. Алайда, сол кезде бұл мүмкіндіктер толыққанды іске асырылмаған және GNOME емес бағдарламалар оны пайдаланбаған. 2021 жылғы кодта әлі де X сессия менеджер клиенттері бар.
is a default session manager for Gnome DE. Gnome has supported XSMP since v1. x. 2013 GNOME had intention to replace GNOME session manager XSMP with a D Bus interface in version 2.24. It was eventually decided to combine both interfaces and provide an adapter (client) for legacy applications. At the time it wasn't feature complete however, nor used by non GNOME applications. As of 2021 the codebase still includes X session manager clients.
Қолданбалар арасындағы қолдау
Орындалатын қолданбалар көбінесе сеанстарды қолдауды (сеанс менеджерімен өзара әрекеттесуді) тікелей енгізбейді (кітапханалармен байланыстыру арқылы), бірақ KDE Plasma немесе GTK сияқты SDK арқылы осы мүмкіндікті жүзеге асырады, олар сеансты басқару және клиент-серверлік байланыс үшін процедураларды ұсынады. Кейбір қолданбалар мұндай мүмкіндікті қолдамай қалуы мүмкін.
Executable applications usually do not embed (link against libraries) support for sessions support (interaction with session manager) directly, but do this via some SDK like KDE Plasma or GTK, which provides routines for session management and client server exchange. Some applications may not support.