рдПрдХреНрд╕рдЖрд░рдбреАрдкреА рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдХрдореА рд╣реИ - рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рддреНрд░ рдХреЗ рд▓рд┐рдП рдЦреЛрд▓реЗ рдЧрдП рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рд╕рддреНрд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓реЗ рдмрд┐рдирд╛), рддреЛ рдмрд╛рдж рдореЗрдВ рдпрд╣ рдПрдХ рддрдереНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рддрдХ рдЗрд╕ рдХреЗ рд╕рд╛рде рд╕рднреНрдп рд╕рдордп, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рд╕реНрд░реЛрдд рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рд╡рд┐рдзрд┐ рдЖрджрд░реНрд╢ рд╣реЛрдиреЗ рдХрд╛ рдвреЛрдВрдЧ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рдпрд╣ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдиреАрдЪреЗ рд╕реВрдЪреАрдмрджреНрдз рд▓рд╛рдЗрдиреЛрдВ рдкрд░ рди рдХреЗрд╡рд▓ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рд╕рддреНрд░ рдЦреЛрд▓рдиреЗ рдпрд╛ рдкреБрд░рд╛рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рддреЗ рд╕рдордп рдХрдо рд░реАрдбрд┐рдВрдЧ рдореЛрдб рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрд╛рдиреВрдиреА рдореЛрдб рдХреЗ рд╕рд╛рде рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдЬрд╛рдВрдЪрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ - рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рд▓рд┐рдП рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд▓рд╛рдн рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдЕрдЪреНрдЫрд╛, рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рдзрд┐ рдХрд╛ рд╕рд╛рд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд╛рдВрдЪ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ sessman / session.c рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ рд╣реИ:
if (g_strncmp(name, tmp->item->name, 255) == 0
рдореИрдВ рд╕рдордЭрд╛ рджреВрдВрдЧрд╛ред рдпрд╣рд╛рдВ, рдореМрдЬреВрджрд╛ рд╕рддреНрд░реЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЪреЗрдХ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдХреНрдпрд╛ рд╕рдВрдХрд▓реНрдк, рд░рдВрдЧ рдЧрд╣рд░рд╛рдИ, рдкреНрд░рдХрд╛рд░ (рд╡реАрдПрдирд╕реА, рдПрдХреНрд╕рдЖрд░рдбреАрдкреА) рдпрд╣ рдПрдХ рд╕рддреНрд░ рдЦреЛрд▓рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред рдпрджрд┐ рд╕рдорд╛рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рддреНрд░ рд╣реИ, рддреЛ рд╣рдо рдЙрд╕реА рд╕рддреНрд░ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдПрдХ рдирдпрд╛ рдЦреЛрд▓реЗрдВред рд╢рд░реНрддреЗрдВ: рд╕рдВрдХрд▓реНрдк, рд░рдВрдЧ рдЧрд╣рд░рд╛рдИ, рд╕рддреНрд░ рдкреНрд░рдХрд╛рд░, рдореИрдВрдиреЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред
рдЕрдм рдореИрдВ рдпрд╣ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реВрдВ (рдпрд╣ рдлреЗрдбреЛрд░рд╛, рд░реЗрдб рд╣реИрдЯ, рд╕реЗрдВрдЯреЛрд╕ рдХреЗ рдЕрдиреБрд░реВрдк рднреА рд╣реЛрдЧрд╛)ред
рд╣рдо рдпрд╣ рднреА рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ xrdp рдорд╛рдирдХ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рд▓рд┐рдирдХреНрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓реЛрдЧреЛрдВ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдВ рдирд╣реАрдВ рд▓рд┐рдЦреВрдВрдЧрд╛, рд╡рд┐рд╖рдп рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ Google рд╣реИ)ред
рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
рдХрдЪреНрдЪреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЖрд░рдкреАрдПрдо рдХрд▓реЗрдХреНрдЯрд░ рдХреА рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
$ yumdownloader --source xrdp $ rpm -ivh xrdp-0.5.0-0.13.el6.src.rpm
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо xrdp-0.5.0-0.13.el6.src.rpm рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдХрдорд╛рдВрдб рдХреЛ рдХреНрдпрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИред рдпрд╣рд╛рдБ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рд╣реИред
рдлрд╝рд╛рдЗрд▓реЗрдВ рдЖрд░рдкреАрдПрдо рдХрд▓реЗрдХреНрдЯрд░ рдХреЗ рдХрд╛рдо рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреА, inclред ~ / rpmbuild / SOURCES / xrdp-HEAD - *ред tar.gz. рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдирдкреИрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЕрд░реНрдерд╛рдд:
$ cd ~/rpmbuild/SOURCES $ tar -xzf xrdp-HEAD-a9cfc23.tar.gz
рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЬреЛ рдХреБрдЫ рднреА рдЪрд╛рд╣рд┐рдП, рдЙрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
рдЕрдм рд╣рдо рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдХреЗ рд╕рд╛рде рдЦреЛрд▓реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдиреИрдиреЛ:
$ nano ~/rpmbuild/SOURCES/xrdp-HEAD-a9cfc23/sesman/session.c
рд╣рдо рдЖрд╡рд╢реНрдпрдХ рд▓рд╛рдЗрдиреЗрдВ рдвреВрдВрдврддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдореИрдВрдиреЗ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдерд╛,
рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдореЗрдВ рдмреНрд░реИрдХреЗрдЯ рдХреЛ рдПрдХ рдирдИ рдЬрдЧрд╣ рдкрд░ рд▓реЗ рдЬрд╛рдирд╛ рдпрд╛рдж рд░рдЦреЗрдВ рдФрд░ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдореНрдкрд░рд╕реЗрдВрдб рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ (рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рд▓рд╛рдЗрди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛)ред
рд╣рдо рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рд╡рд╛рдкрд╕ рдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ:
$ cd ~/rpmbuild/SOURCES $ tar -czf xrdp-HEAD-a9cfc23.tar.gz xrdp-HEAD-a9cfc23
рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд rpm рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдмрд╛рдХреА рд╣реИ:
$ rpmbuild -ba ~/rpmbuild/SPECS/xrdp.spec
рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд░рд╣рд╛, рддреЛ ~ / rpmbuild / RPMS / x86_64 / рдореЗрдВ рд╣рдореЗрдВ рджреЛ rpm рдлрд╛рдЗрд▓реЗрдВ рдорд┐рд▓реЗрдВрдЧреА:
$ ls -l 664 -rw-rw-r--. 1 rafaelrs rafaelrs 243152 5 07:41 xrdp-0.5.0-0.13.el6.x86_64.rpm -rw-rw-r--. 1 rafaelrs rafaelrs 430620 5 07:41 xrdp-debuginfo-0.5.0-0.13.el6.x86_64.rpm
рдкрд╣рд▓рд╛ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдЬреАрд╡рди рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВ :)
yum install ~/rpmbuild/RPMS/x86_64/xrdp-0.5.0-0.13.el6.x86_64.rpm service xrdp start
рд╡реИрд╕реЗ, рд╣рд╛рдБ, рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдЕрдЧрд░ рдкреИрдХреЗрдЬ рдХреЛ рдЕрдЪрд╛рдирдХ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдмрджрд▓рд╛рд╡ рдЦреЛ рдЬрд╛рдПрдВрдЧреЗред рдЖрдк рдСрдкрд░реЗрд╢рди рдХреЛ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдЕрдкрд╡рд╛рдж рдХреА рд╕реВрдЪреА рдореЗрдВ xrdp рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдЖрдорддреМрд░ рдкрд░ рдЖрд╡реЗрджрди рдХрд╛ рдирд╛рдо рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕реНрд╡рд╛рдж рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ, рдореИрдВ рдкрд╣рд▓реЗ рдкрд░ рдмрд╕ рдЧрдпрд╛, xrdp рдХрд╛ рд▓рд╛рдн рдЕрдХреНрд╕рд░ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред