рдирд╡реАрдирддрдо рдЙрдмрдВрдЯреВ рдореЗрдВ рд╕рдВрдХреЗрддрдХ рдПрдкреНрд▓реЗрдЯ рдХреЗ рд╕рд╛рде KeePassX рдХрд╛рд░реНрдп рдореЗрдВ рдорджрдж рдХрд░рдирд╛

рд▓рд┐рдВрдХреНрдбрдЗрди рдкрд░ рдЪреЛрд░реА рд╣реБрдП рдкрд╛рд╕рд╡рд░реНрдб рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЦрдмрд░ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ред

рдореИрдВрдиреЗ Ubuntu 12.04 рдХреЗ рддрд╣рдд рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдореИрдиреЗрдЬрд░ рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХреА, рдЬреЛ KeePassX рдкрд░ рдмрд╕рд╛ред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореЗрд░реЗ рдЕрдиреБрдХреВрд▓ рд╣реИ, рдпрджрд┐ рдПрдХ рдЯреНрд░рд┐рдлрд╝рд▓ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ: рдЙрдмрдВрдЯреВ 12.04 рдореЗрдВ рдореИрдВ рдЧрдиреЛрдо рдХреНрд▓рд╛рд╕рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рд╕рдВрдХреЗрддрдХ рдПрдкреНрд▓реЗрдЯ рдШрдВрдЯреЛрдВ / рд╕рд┐рд╕реНрдЯреНрд░реЗ рдХреЗ рд▓рд┐рдП рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реВрдВред рдФрд░ рдпрд╣ рдПрдкреНрд▓реЗрдЯ рдмрд╛рдИрдВ рдорд╛рдЙрд╕ рдмрдЯрди рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдПрдХ рдореЗрдиреВ рдЦреАрдВрдЪрддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдЖрдк рджрд╛рдИрдВ рдУрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ - рддреЛ рдпрд╣ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдореЗрдиреВ рдЦреАрдВрдЪрддрд╛ рд╣реИред рдФрд░ рдпрджрд┐ рдЖрдк KeePassX рдХреЛ рдЯреНрд░реЗ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╡рд╣рд╛рдВ рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдореИрдВрдиреЗ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА: рдореИрдВрдиреЗ рдордВрдЪ рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд╡рд╣реА рдмрдЧ рдкрд╛рдпрд╛ рдЬреЛ 2011 рд╕реЗ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЗрдЦрдХ рдиреЗ рдЕрдкрдиреА рдкреВрд░реА рддрд╛рдХрдд KeePassX 2 рдореЗрдВ рдлреЗрдВрдХ рджреА, рдФрд░ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред

рдЕрдЪреНрдЫрд╛, рдХреНрдпрд╛ рдореИрдВ рдПрдХ рдХрд╛рдВрдкрддрд╛ рд╣реБрдЖ рдкреНрд░рд╛рдгреА рд╣реВрдВ, рдпрд╛ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕рд╣реА рд╣реИ ? рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЕрд░реНрдерд╛рддреН, рд╕рд┐рд╕реНрдЯреНрд░реЗ рдореЗрдиреВ рдореЗрдВ рдПрдХ рдирдпрд╛ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝рдХрд░, рдЕрд░реНрдерд╛рддреН, рддрд╛рдХрд┐ рдЖрдк рд╕рд┐рд╕реНрдЯреНрд░реЗ рдореЗрдиреВ рд╕реЗ рдореБрдЦреНрдп рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛ рд╕рдХреЗрдВред

рдореИрдВ рдЖрдкрдХреЛ рддреБрд░рдВрдд рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реВрдВ, рдХрдИ рд▓реЛрдЧ рд▓реЗрдЦ рдореЗрдВ рд░реБрдЪрд┐ рдирд╣реАрдВ рд▓реЗрдВрдЧреЗ, рдХреНрдпреВрдЯреА рдХреЗ рд╕рд╛рде рдпрд╣ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдЕрдиреБрднрд╡ рд╣реИ, рдФрд░ рдЖрдЦрд┐рд░реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ 1999 рдореЗрдВ C / C ++ рд▓рд┐рдЦрд╛ рдерд╛, рддреЛ рдореБрдЭреЗ рдХреЗрд╡рд▓ рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЗрдВ рдпрд╛рдж рд╣реИрдВред рдореИрдВрдиреЗ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ OpenSource рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ Qt рдореЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рд╕рдлрд▓ рдЕрдиреБрднрд╡ рд╣реИ, рд╢рд╛рдпрдж рдпрд╣ рдХрд┐рд╕реА рдХреЗ рдХрд╛рдо рдЖрдПрдЧрд╛ред

UPD рдпрд╣ рдирд┐рдХрд▓рд╛ рдХрд┐ рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рдЗрдХрд┐рд▓ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдПрд╕рдПрдирдЖрдИ-рдХреНрдпреВрдЯреА рдкреИрдХреЗрдЬ рдХреА рд╕рднреА рдЧрд▓рддреА рд╣реИ, рдЬреЛ рд╕реНрдЯреЗрдЯрд╕реЛрдиреЛрдЯрд┐рдлрд╝рд╛рдЗрдореНрд╕ рдореЗрдВ QSystemTrayIcon рдХреЛ рд░реАрдореЗрдХ рдХрд░рддрд╛ рд╣реИред рдкреИрдХреЗрдЬ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдЗрдХрди рджреВрд╕рд░реА рдЯреНрд░реЗ рдореЗрдВ рдЖ рдЧрдпрд╛, рдЬрд╣рд╛рдВ рдХреНрд▓рд┐рдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж inkvizitor68sl ред

рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдмрд┐рд▓реНрд▓реА рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред


рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрдЕрдк


рд╕реНрд░реЛрдд рдХреЛрдб рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ , рдЕрдирдкреИрдХ рдХрд░реЗрдВред рд╣рдо рд╕реНрд░реЛрдд рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред

рд╣рдо рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ, рдФрд░ рдХреНрдпреВрдЯреА рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ
$ sudo apt-get install build-essential qt4-qmake libxtst-dev qtcreator 

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬрдЧрд╣ рдореЗрдВ рд╣реИрдВ:
 $ qmake && make 

рдпрджрд┐ рд╕рдм рдХреБрдЫ рдХреНрд░рдо рдореЗрдВ рд╣реИ, рддреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрдХрд▓рди рдХрд░реЗрдЧреА рдФрд░ рдЖрдк рдмрд┐рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд░рди рдХреНрдпреВрдЯреА рдХреНрд░рд┐рдПрдЯрд░ (рдореЗрд░реЗ рдкрд╛рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд╣реИ), Keepassx.pro рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЦреЛрд▓реЗрдВ



рдЖрдк рдбрд┐рдмрдЧ рдХреЛ рднреА рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, KeePassX рдореЗрдВ рдЗрд╕реЗ src.pro рдореЗрдВ рдЪрд░ рдХреА рд╕реНрдкрд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:


рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдмрд┐рд▓реНрдб -> рдмрд┐рд▓реНрдб рдСрд▓, рдлрд┐рд░ рд░рди рдмрдЯрдиред

рдореЗрдиреВ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝реЗрдВ


Qt рдИрд╡реЗрдВрдЯ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдШрдЯрдХ рдХреБрдЫ рдШрдЯрдирд╛рдУрдВ (рдПрдХреНрд╢рди) рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдк рдЗрди рдИрд╡реЗрдВрдЯ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдирдИ рдШрдЯрдирд╛ рдЬреЛрдбрд╝реЗрдВред MainWindow.ui рдлреЙрд░реНрдо рдЦреЛрд▓реЗрдВ, рдлрд┐рд░ рдПрдХреНрд╢рди рдПрдбрд┐рдЯрд░ рдЯреИрдм рдореЗрдВ рдПрдХ рдирдпрд╛ рдИрд╡реЗрдВрдЯ рдЬреЛрдбрд╝реЗрдВ


рд╣рдо рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рдкрд╣рд▓рд╛ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдореБрдЭреЗ рдХреБрдЫ рдШрдВрдЯреЗ рд▓рдЧреЗ: рдХреНрдпреВрдЯреА рдХреНрд░рд┐рдПрдЯрд░ рдлреЙрд░реНрдо рдХреЛрдб рдореЗрдВ рдПрдХ рдЧреИрдЧ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рддреЛ рдЖрдкрдХреЛ рддрд╛рд▓рд┐рдХрд╛ рддрддреНрд╡ рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рд░реВрдк рдореЗрдВ рдпрд╣ рдКрдкрд░реА рджрд╛рдИрдВ рдУрд░ рд╣реИ) рдФрд░ "1" рдХреЙрд▓рдо рдХреЛ рд╣рдЯрд╛ рджреЗрдВред

рдЗрд╕рдХреЗ рдмрд╛рдж, рдореЗрдиреВ рдореЗрдВ рдпрд╣ рдХреНрд░рд┐рдпрд╛ рдЬреЛрдбрд╝реЗрдВред Mainwindow.cpp рдЦреЛрд▓реЗрдВ, setupMenus рд╡рд┐рдзрд┐ рдХреЗ рдмрд╣реБрдд рдЕрдВрдд рддрдХ рдЬрд╛рдПрдБ рдФрд░ рдХреЛрдб рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдмрджрд▓реЗрдВ:
 SysTrayMenu = new QMenu(APP_DISPLAY_NAME,this); SysTrayMenu->addAction(ShowHideAction); //     ,        ShowHideAction SysTrayMenu->addAction(FileUnLockWorkspaceAction); SysTrayMenu->addSeparator(); SysTrayMenu->addAction(FileExitAction); SysTray->setContextMenu(SysTrayMenu); 

рдЕрдм рдПрдХ рд╡рд┐рдзрд┐ рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИ рдЬрдм рд╣рдо рдЕрдкрдиреЗ рдореЗрдиреВ рдЖрдЗрдЯрдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВрдЧреЗред
рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкрд░реЗрд╢рд╛рдирд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛, рд╣рдо mainwindow.cpp рдХреЗ рдЕрдВрдд рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ
 void KeepassMainWindow::OnShowHide(){ OnSysTrayActivated(QSystemTrayIcon::Trigger); } 

рдпрд╣реА рд╣реИ, рд╣рдо рдмрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореМрдЬреВрдж рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЯреНрд░реЗ рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рд╣реЗрдбрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛: рдореЗрдирд╡рд┐рдВрдбреЛ рдХреЛ рдмрджрд▓реЗрдВред рдирд┐рдЬреА рд╕реНрд▓реЙрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ
 void OnShowHide(); 

рдЕрдВрдд рдореЗрдВ, рдЕрдм рдЖрдкрдХреЛ рд╢реЛрд╢рд╛рдЗрдбреЗрд╢рди рдЗрд╡реЗрдВрдЯ рдХреЛ рдСрдирд╢реЙрдЗрдб рд╡рд┐рдзрд┐ рд╕реЗ рдмрд╛рдВрдзрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред SetupConnections () рд╡рд┐рдзрд┐ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдЬреЛрдбрд╝реЗрдВ
 connect(ShowHideAction,SIGNAL(triggered()), this, SLOT(OnShowHide())); 


рд╣рдо рд╕рдм рдХреБрдЫ рдмрдЪрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдирдпрд╛ рдореЗрдиреВ рдЖрдЗрдЯрдо рджрд┐рдЦрд╛рдИ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред


рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛


рдЕрдм рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рд╣рдо рдЯрд░реНрдорд┐рдирд▓ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рд╣рдо рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕рдм рдХреБрдЫ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ
 sudo checkinstall 

рдЪреЗрдХрд╡реЙрдЪ рдЖрдкрдХреЛ рдХреБрдЫ рд╕рд╡рд╛рд▓ рдкреВрдЫреЗрдЧрд╛, рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдм рдХреБрдЫ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдкреИрдХреЗрдЬ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рддреЗ рд╕рдордп рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд░реЛрд▓рдмреИрдХ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ 0.4.3-1 рдХреА рддрд░рд╣ рдмрджрд▓рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред

рд╕рдм рдХреБрдЫ, рдЬрдм рдЯреАрдо рдХрд╛рдо рдХрд░рддреА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ KeePassX рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ .deb рдкреИрдХреЗрдЬ рдЬреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдорд╢реАрди рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕реВрддреНрд░ рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ: github.com/relgames/keepassx

Source: https://habr.com/ru/post/In146507/


All Articles