Merge pull request 'master' (#139) from YanTheKaller/ubl-settings-logging:master into master

Reviewed-on: #139
pull/145/head^2^2 v2.9
Dmitry Razumov 3 months ago
commit a50414dd5e

@ -1,5 +1,5 @@
Service_Name;Service_Description;Сommand_Start;Сommand_Stop;Сommand_Enable;Сommand_Disable;Сommand_Status
journald;System event log;systemctl start systemd-journald.service;systemctl stop systemd-journald.service;ubconfig --default set [system] SERVICES_DISABLE--=systemd-journald.service SERVICES_ENABLE++=systemd-journald.service;ubconfig --default set [system] SERVICES_ENABLE--=systemd-journald.service SERVICES_DISABLE++=systemd-journald.service;systemctl status systemd-journald.service
logrotate;System event log rotation service;systemctl start logrotate.timer;systemctl stop logrotate.timer logrotate.service;ubconfig --default set [system] SERVICES_DISABLE--=logrotate.timer SERVICES_ENABLE++=logrotate.timer;ubconfig --default set [system] SERVICES_ENABLE--=logrotate.timer SERVICES_DISABLE++=logrotate.timer;systemctl status logrotate.service
#metalog;System event log;systemctl start metalog.service;systemctl stop metalog.service;ubconfig --default set [system] SERVICES_DISABLE--=metalog.service SERVICES_ENABLE++=metalog.service;ubconfig --default set [system] SERVICES_ENABLE--=metalog.service SERVICES_DISABLE++=metalog.service;systemctl status metalog.service
#syslog-ng;Service for collecting messages from system events of active network devices;systemctl start syslog-ng.service;systemctl stop syslog-ng.service;ubconfig --default set [system] SERVICES_DISABLE--=syslog-ng.service SERVICES_ENABLE++=syslog-ng.service;ubconfig --default set [system] SERVICES_ENABLE--=syslog-ng.service SERVICES_DISABLE++=syslog-ng.service;systemctl status syslog-ng.service
Service_Name;Service_Description;Сommand_Start;Сommand_Stop;Сommand_Enable;Сommand_Disable;Сommand_Status;Сommand_Status_Active;Сommand_Status_Enabled
journald;System event log;systemctl start systemd-journald.service;systemctl stop systemd-journald.service;ubconfig --default set [system] SERVICES_DISABLE--=systemd-journald.service SERVICES_ENABLE++=systemd-journald.service;ubconfig --default set [system] SERVICES_ENABLE--=systemd-journald.service SERVICES_DISABLE++=systemd-journald.service;systemctl status systemd-journald.service --no-pager;systemctl --quiet is-active systemd-journald.service;systemctl --quiet is-enabled systemd-journald.service
logrotate;System event log rotation service;systemctl start logrotate.timer logrotate.service;systemctl stop logrotate.timer logrotate.service;ubconfig --default set [system] SERVICES_DISABLE--=logrotate.timer SERVICES_ENABLE++=logrotate.timer;ubconfig --default set [system] SERVICES_ENABLE--=logrotate.timer SERVICES_DISABLE++=logrotate.timer;systemctl status logrotate.timer logrotate.service --no-pager;systemctl --quiet is-active logrotate.timer;systemctl --quiet is-enabled logrotate.timer
#metalog;System event log;systemctl start metalog.service;systemctl stop metalog.service;ubconfig --default set [system] SERVICES_DISABLE--=metalog.service SERVICES_ENABLE++=metalog.service;ubconfig --default set [system] SERVICES_ENABLE--=metalog.service SERVICES_DISABLE++=metalog.service;systemctl status metalog.service --no-pager;systemctl --quiet is-active metalog.service;systemctl --quiet is-enabled metalog.service
#syslog-ng;Service for collecting messages from system events of active network devices;systemctl start syslog-ng.service;systemctl stop syslog-ng.service;ubconfig --default set [system] SERVICES_DISABLE--=syslog-ng.service SERVICES_ENABLE++=syslog-ng.service;ubconfig --default set [system] SERVICES_ENABLE--=syslog-ng.service SERVICES_DISABLE++=syslog-ng.service;systemctl status syslog-ng.service --no-pager;systemctl --quiet is-active syslog-ng.service;systemctl --quiet is-enabled syslog-ng.service
1 Service_Name Service_Description Сommand_Start Сommand_Stop Сommand_Enable Сommand_Disable Сommand_Status Сommand_Status_Active Сommand_Status_Enabled
2 journald System event log systemctl start systemd-journald.service systemctl stop systemd-journald.service ubconfig --default set [system] SERVICES_DISABLE--=systemd-journald.service SERVICES_ENABLE++=systemd-journald.service ubconfig --default set [system] SERVICES_ENABLE--=systemd-journald.service SERVICES_DISABLE++=systemd-journald.service systemctl status systemd-journald.service systemctl status systemd-journald.service --no-pager systemctl --quiet is-active systemd-journald.service systemctl --quiet is-enabled systemd-journald.service
3 logrotate System event log rotation service systemctl start logrotate.timer systemctl start logrotate.timer logrotate.service systemctl stop logrotate.timer logrotate.service ubconfig --default set [system] SERVICES_DISABLE--=logrotate.timer SERVICES_ENABLE++=logrotate.timer ubconfig --default set [system] SERVICES_ENABLE--=logrotate.timer SERVICES_DISABLE++=logrotate.timer systemctl status logrotate.service systemctl status logrotate.timer logrotate.service --no-pager systemctl --quiet is-active logrotate.timer systemctl --quiet is-enabled logrotate.timer
4 #metalog System event log systemctl start metalog.service systemctl stop metalog.service ubconfig --default set [system] SERVICES_DISABLE--=metalog.service SERVICES_ENABLE++=metalog.service ubconfig --default set [system] SERVICES_ENABLE--=metalog.service SERVICES_DISABLE++=metalog.service systemctl status metalog.service systemctl status metalog.service --no-pager systemctl --quiet is-active metalog.service systemctl --quiet is-enabled metalog.service
5 #syslog-ng Service for collecting messages from system events of active network devices systemctl start syslog-ng.service systemctl stop syslog-ng.service ubconfig --default set [system] SERVICES_DISABLE--=syslog-ng.service SERVICES_ENABLE++=syslog-ng.service ubconfig --default set [system] SERVICES_ENABLE--=syslog-ng.service SERVICES_DISABLE++=syslog-ng.service systemctl status syslog-ng.service systemctl status syslog-ng.service --no-pager systemctl --quiet is-active syslog-ng.service systemctl --quiet is-enabled syslog-ng.service

@ -94,6 +94,16 @@ void update_loaded_logrotate(){
}
}
void yon_journald_size_update(journald_window *window){
int sz;
config_str logsize = yon_config_load(journald_size_command,&sz);
if (logsize){
if (logsize[0][strlen(logsize[0])-1]=='\n')
logsize[0][strlen(logsize[0])-1]='\0';
}
gtk_label_set_text(GTK_LABEL(window->LogSizeLabel),logsize[0]);
}
int yon_load_proceed(YON_CONFIG_TYPE type){
if (type!=YON_CONFIG_CUSTOM){
yon_config_clean();
@ -440,6 +450,7 @@ void on_inspector_open(GtkWidget *, main_window *widgets){
inspector_window *window = malloc(sizeof(inspector_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_inspector_path);
window->MainWindow=yon_gtk_builder_get_widget(builder,"MainWindow");
window->TitleLabel=yon_gtk_builder_get_widget(builder,"headerTopic");
window->ShowSinceBootButton=yon_gtk_builder_get_widget(builder,"ShowSinceBootButton");
window->NewMessagesButton=yon_gtk_builder_get_widget(builder,"NewMessagesButton");
window->ShowKernelButton=yon_gtk_builder_get_widget(builder,"ShowKernelButton");
@ -453,7 +464,6 @@ void on_inspector_open(GtkWidget *, main_window *widgets){
window->JournaldTree=yon_gtk_builder_get_widget(builder,"JournaldTree");
window->list=GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1"));
yon_window_config_custom_window_setup(GTK_WINDOW(window->MainWindow),"InspectorWindow");
gtk_window_set_title(GTK_WINDOW(window->MainWindow),INSPECTOR_TITLE_LABEL);
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window));
GtkTreeModel *model = GTK_TREE_MODEL(widgets->list);
GList *list = gtk_tree_view_get_columns(GTK_TREE_VIEW(window->JournaldTree));
@ -481,6 +491,8 @@ void on_inspector_open(GtkWidget *, main_window *widgets){
gtk_tree_model_get(model,&iter,0,&name,1,&paths,-1);
window->journal_name=name;
window->journal_paths=yon_char_parse(paths,&window->journal_size,"\n");
yon_gtk_window_setup(GTK_WINDOW(window->MainWindow),NULL,INSPECTOR_TITLE_LABEL(name),icon_path,"inspector_window");
gtk_label_set_text(GTK_LABEL(window->TitleLabel),INSPECTOR_TITLE_LABEL(name));
config_str final=NULL;
int final_size=0;
for (int i=0;i<window->journal_size;i++){
@ -506,6 +518,7 @@ void on_inspector_open(GtkWidget *, main_window *widgets){
window->journal_size=final_size;
window->terminals = NULL;
if (strcmp(name,"journald")){
gtk_widget_set_margin_top(gtk_widget_get_parent(window->UpdateButton),25);
window->last_mode=-1;
if (window->journal_size==0){
GtkWidget *terminal = yon_inspector_add_terminal(window,window->journal_name,0);
@ -2114,10 +2127,47 @@ void on_journald_save(GtkWidget *, journald_window *window){
on_subwindow_close(window->MainWindow);
}
void on_journald_size_lower_size(GtkWidget *, journald_window *window){
long time_long = gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->LowerSizeEntry));
if (time_long){
char *time = yon_char_from_long(time_long);
char *time_mod = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->LowerSizeCombo));
char *time_full = yon_char_append(time,time_mod);
if (!system(journald_lower_size_command(time_full))){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),yon_char_get_localised_from_lib(SUCCESS_LABEL),5,BACKGROUND_IMAGE_SUCCESS_TYPE);
} else {
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),yon_char_get_localised_from_lib(FAIL_LABEL),5,BACKGROUND_IMAGE_SUCCESS_TYPE);
}
} else {
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_SUCCESS_TYPE);
yon_ubl_status_highlight_incorrect(window->LowerSizeEntry);
}
yon_journald_size_update(window);
}
void on_journald_size_lower_time(GtkWidget *, journald_window *window){
long time_long = gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->LowerTimeEntry));
if (time_long){
char *time = yon_char_from_long(time_long);
char *time_mod = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->LowerTimeCombo));
char *time_full = yon_char_append(time,time_mod);
if (!system(journald_lower_time_command(time_full))){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),yon_char_get_localised_from_lib(SUCCESS_LABEL),5,BACKGROUND_IMAGE_SUCCESS_TYPE);
} else {
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),yon_char_get_localised_from_lib(FAIL_LABEL),5,BACKGROUND_IMAGE_SUCCESS_TYPE);
}
} else {
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_SUCCESS_TYPE);
yon_ubl_status_highlight_incorrect(window->LowerTimeEntry);
}
yon_journald_size_update(window);
}
journald_window *yon_journald_open(GtkWidget *, main_window *widgets){
journald_window *window = malloc(sizeof(journald_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_journald_path);
window->MainWindow=yon_gtk_builder_get_widget(builder,"MainWindow");
window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox");
window->CancelButton=yon_gtk_builder_get_widget(builder,"CancelButton");
window->SaveButton=yon_gtk_builder_get_widget(builder,"SaveButton");
window->ResetButton=yon_gtk_builder_get_widget(builder,"ResetButton");
@ -2156,17 +2206,14 @@ journald_window *yon_journald_open(GtkWidget *, main_window *widgets){
yon_window_config_custom_window_setup(GTK_WINDOW(window->MainWindow),"JournaldWindow");
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window));
{
int sz;
config_str logsize = yon_config_load(journald_size_command,&sz);
if (logsize){
if (logsize[0][strlen(logsize[0])-1]=='\n')
logsize[0][strlen(logsize[0])-1]='\0';
}
gtk_label_set_text(GTK_LABEL(window->LogSizeLabel),logsize[0]);
}
yon_journald_size_update(window);
gtk_window_set_title(GTK_WINDOW(window->MainWindow),JOURNALD_TITLE_LABEL);
g_signal_connect(G_OBJECT(window->LowerSizeButton),"clicked",G_CALLBACK(on_journald_size_lower_size),window);
g_signal_connect(G_OBJECT(window->LowerTimeButton),"clicked",G_CALLBACK(on_journald_size_lower_time),window);
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_journald_save),window);
g_signal_connect(G_OBJECT(window->ResetButton),"clicked",G_CALLBACK(on_journald_reset),window);
@ -2378,6 +2425,7 @@ add_log_window *on_add_open(main_window *widgets){
window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox");
gtk_window_set_title(GTK_WINDOW(window->MainWindow),MONITOR_TITLE_LABEL);
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window));
window->log_name=NULL;
dictionary *dict = NULL;
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
@ -2761,6 +2809,7 @@ void on_main_window_services_tree_selection_changed(GtkWidget *,main_window *wid
GtkTreeIter iter;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->ServicesTree)),&model,&iter)){
gtk_widget_set_sensitive(widgets->ServicesControlButton,1);
gboolean is_active;
gboolean is_enabled;
char *name;
@ -2768,67 +2817,53 @@ void on_main_window_services_tree_selection_changed(GtkWidget *,main_window *wid
gtk_tree_model_get(model,&iter,0,&is_active,1,&is_enabled,2,&name,-1);
if (is_active){
gtk_widget_set_sensitive(widgets->ServicesEditButton,1);
gtk_widget_set_sensitive(widgets->ServicesEnableDisableButton,1);
gtk_widget_set_sensitive(widgets->ServicesStartStopButton,1);
gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),1);
// gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),1);
gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,1)),1);
gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_OFF_LABEL);
gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,STOP_SERVICE_LABEL);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesStartStopButton))),stop_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),stop_icon_name,GTK_ICON_SIZE_BUTTON);
GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,0)));
GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0)));
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),stop_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),STOP_SERVICE_LABEL);
g_list_free(item);
g_list_free(items);
} else {
gtk_widget_set_sensitive(widgets->ServicesEditButton,0);
gtk_widget_set_sensitive(widgets->ServicesEnableDisableButton,1);
gtk_widget_set_sensitive(widgets->ServicesStartStopButton,1);
gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),1);
gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,1)),1);
gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_ON_LABEL);
gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,START_SERVICE_LABEL);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesStartStopButton))),start_icon_name,GTK_ICON_SIZE_BUTTON);
// gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),1);
gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,1)),0);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),start_icon_name,GTK_ICON_SIZE_BUTTON);
GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,0)));
GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0)));
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),start_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),START_SERVICE_LABEL);
g_list_free(item);
g_list_free(items);
}
if (is_enabled){
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesEnableDisableButton))),disable_icon_name,GTK_ICON_SIZE_BUTTON);
GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,1)));
GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0)));
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),disable_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),AUTOSTART_OFF_LABEL);
g_list_free(item);
g_list_free(items);
} else {
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesEnableDisableButton))),enable_icon_name,GTK_ICON_SIZE_BUTTON);
GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,1)));
GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0)));
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),enable_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),AUTOSTART_ON_LABEL);
g_list_free(item);
g_list_free(items);
}
// if (is_enabled){
// gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),disable_icon_name,GTK_ICON_SIZE_BUTTON);
// GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,1)));
// GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0)));
// gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),disable_icon_name,GTK_ICON_SIZE_BUTTON);
// gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),AUTOSTART_OFF_LABEL);
// g_list_free(item);
// g_list_free(items);
// } else {
// gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),enable_icon_name,GTK_ICON_SIZE_BUTTON);
// GList *item = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(list,1)));
// GList *items = gtk_container_get_children(GTK_CONTAINER(g_list_nth_data(item,0)));
// gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(items,0)),enable_icon_name,GTK_ICON_SIZE_BUTTON);
// gtk_label_set_text(GTK_LABEL(g_list_nth_data(items,1)),AUTOSTART_ON_LABEL);
// g_list_free(item);
// g_list_free(items);
// }
if (!strcmp(name,"journald")){
gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),0);
gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,1)),0);
gtk_widget_set_sensitive(widgets->ServicesEnableDisableButton,0);
gtk_widget_set_sensitive(widgets->ServicesStartStopButton,0);
gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_OFF_LABEL);
gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,STOP_SERVICE_LABEL);
// gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,0)),0);
// gtk_widget_set_sensitive(GTK_WIDGET(g_list_nth_data(list,1)),0);
// gtk_widget_set_sensitive(widgets->ServicesControlButton,0);
// gtk_widget_set_tooltip_text(widgets->ServicesControlButton,AUTOSTART_OFF_LABEL);
}
g_list_free(list);
} else {
gtk_widget_set_sensitive(widgets->ServicesEditButton,0);
gtk_widget_set_sensitive(widgets->ServicesEnableDisableButton,0);
gtk_widget_set_sensitive(widgets->ServicesStartStopButton,0);
gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_ON_LABEL);
gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,START_SERVICE_LABEL);
gtk_widget_set_sensitive(widgets->ServicesControlButton,0);
// gtk_widget_set_tooltip_text(widgets->ServicesControlButton,AUTOSTART_ON_LABEL);
}
}
@ -2845,15 +2880,11 @@ void on_start_stop_clicked(GtkButton *, main_window *widgets){
if (is_started){
g_spawn_command_line_sync(yon_debug_output("%s\n",stop_command),NULL,NULL,NULL,NULL);
gtk_list_store_set(widgets->ServicesList,&iter,0,0,-1);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesStartStopButton))),start_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),start_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,START_SERVICE_LABEL);
} else {
g_spawn_command_line_sync(yon_debug_output("%s\n",start_command),NULL,NULL,NULL,NULL);
gtk_list_store_set(widgets->ServicesList,&iter,0,1,-1);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesStartStopButton))),stop_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),stop_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_widget_set_tooltip_text(widgets->ServicesStartStopButton,STOP_SERVICE_LABEL);
}
}
}
@ -2879,9 +2910,9 @@ void on_enable_disable_clicked(GtkButton *, main_window *widgets){
if (is_started){
yon_launch(stop_command);
gtk_list_store_set(widgets->ServicesList,&iter,1,0,-1);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesEnableDisableButton))),enable_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),enable_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_ON_LABEL);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),start_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),start_icon_name,GTK_ICON_SIZE_BUTTON);
// gtk_widget_set_tooltip_text(widgets->ServicesControlButton,AUTOSTART_ON_LABEL);
} else {
/*
g_mutex_lock(&main_config.authorized_mutex);
@ -2891,9 +2922,9 @@ void on_enable_disable_clicked(GtkButton *, main_window *widgets){
g_mutex_unlock(&main_config.authorized_mutex);*/
yon_launch(start_command);
gtk_list_store_set(widgets->ServicesList,&iter,1,1,-1);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesEnableDisableButton))),disable_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),disable_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_widget_set_tooltip_text(widgets->ServicesEnableDisableButton,AUTOSTART_OFF_LABEL);
gtk_image_set_from_icon_name(GTK_IMAGE(gtk_button_get_image(GTK_BUTTON(widgets->ServicesControlButton))),stop_icon_name,GTK_ICON_SIZE_BUTTON);
gtk_image_set_from_icon_name(GTK_IMAGE(g_list_nth_data(box,0)),stop_icon_name,GTK_ICON_SIZE_BUTTON);
// gtk_widget_set_tooltip_text(widgets->ServicesControlButton,AUTOSTART_OFF_LABEL);
}
}
}
@ -2991,6 +3022,27 @@ void config_init(){
}
}
void on_service_manage(GtkWidget *,main_window *widgets){
GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->ServicesList);
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->ServicesTree)),&model,&iter)){
char *name,*start_command,*stop_command,*enable_command,*disable_command,*status_command,*check_active_command,*check_enable_command;
gtk_tree_model_get(model,&iter,
2,&name,5,&start_command,
6,&stop_command,7,&enable_command,
8,&disable_command,9,&status_command,
10,&check_active_command,11,&check_enable_command,
-1);
service_window *window = yon_service_window_new(name,start_command,stop_command,
enable_command,disable_command,
status_command,check_active_command,
check_enable_command);
gtk_window_set_transient_for(GTK_WINDOW(window->MainWindow),GTK_WINDOW(widgets->Window));
yon_service_window_run(window);
}
}
void yon_main_window_complete(template_main_window **window){
/* Widgets getting | Получение виджетов */
main_window *widgets = realloc(*window,sizeof(main_window));
@ -3005,8 +3057,7 @@ void yon_main_window_complete(template_main_window **window){
widgets->RemoveButton = yon_gtk_builder_get_widget(builder,"MainRemoveButton");
widgets->Notebook = yon_gtk_builder_get_widget(builder,"MainNotebook");
widgets->ServicesEditButton = yon_gtk_builder_get_widget(builder,"ServicesEditButton");
widgets->ServicesStartStopButton = yon_gtk_builder_get_widget(builder,"ServicesStartStopButton");
widgets->ServicesEnableDisableButton = yon_gtk_builder_get_widget(builder,"ServicesEnableDisableButton");
widgets->ServicesControlButton = yon_gtk_builder_get_widget(builder,"ServicesControlButton");
widgets->ServicesTree = yon_gtk_builder_get_widget(builder,"ServicesTree");
widgets->list = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1"));
widgets->ServicesList = GTK_LIST_STORE(gtk_builder_get_object(builder,"ServicesList"));
@ -3056,8 +3107,11 @@ void yon_main_window_complete(template_main_window **window){
int log_size;
services[i]=yon_char_divide_search(services[i],"\n",-1);
config_str log = yon_char_parse(services[i],&log_size,";");
int is_active, is_enabled;
is_active = !system(log[7]);
is_enabled = !system(log[8]);
gtk_list_store_append(widgets->ServicesList,&iter);
gtk_list_store_set(widgets->ServicesList,&iter,0,1,1,1,2,log[0],3,_(log[1]),4,log[2],5,log[3],6,log[4],7,log[5],8,log[6],-1);
gtk_list_store_set(widgets->ServicesList,&iter,0,is_active,1,is_enabled,2,log[0],3,_(log[1]),4,log[2],5,log[2],6,log[3],7,log[4],8,log[5],9,log[6],10,log[7],11,log[8],-1);
}
}
config_str dirs = yon_config_load(logrotate_config_command,&dirs_size);
@ -3173,17 +3227,16 @@ void yon_main_window_complete(template_main_window **window){
g_signal_connect(G_OBJECT(widgets->MainTree),"cursor-changed",G_CALLBACK(on_main_window_tree_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->ServicesTree),"cursor-changed",G_CALLBACK(on_main_window_services_tree_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->ServicesStartStopButton),"clicked",G_CALLBACK(on_start_stop_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->ServicesEnableDisableButton),"clicked",G_CALLBACK(on_enable_disable_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->ServicesControlButton),"clicked",G_CALLBACK(on_service_manage),widgets);
widgets->LogsRMBMenu = yon_rmb_menu_setup(widgets->MainTree,(RmbCheck)gtk_widget_get_sensitive,widgets->MainTree,
CONFIGURE_LOG_LABEL,settings_icon_name,G_CALLBACK(on_log_edit),widgets,
CONFIGURE_LOG_LABEL,settings_icon_name,G_CALLBACK(on_log_edit),widgets,
ADD_LOG_LABEL,add_icon_name,G_CALLBACK(on_log_add),widgets,
REMOVE_LOG_LABEL,remove_icon_name,G_CALLBACK(on_log_remove),widgets,
NULL);
widgets->ServicesRMBMenu = yon_rmb_menu_setup(widgets->ServicesTree,(RmbCheck)gtk_widget_get_sensitive,widgets->ServicesTree,
START_SERVICE_LABEL,start_icon_name,G_CALLBACK(on_start_stop_clicked),widgets,
AUTOSTART_ON_LABEL,enable_icon_name,G_CALLBACK(on_enable_disable_clicked),widgets,
SERVICE_MANAGEMENT_TOOLTIP,start_icon_name,G_CALLBACK(on_service_manage),widgets,
CONFIGURE_SERVICE_LABEL,settings_icon_name,G_CALLBACK(on_service_edit),widgets,
NULL);
// yon_rmb_menu_setup(widgets->ServicesTree,(RmbCheck)gtk_widget_get_sensitive,widgets->MainTree,CONFIGURE_LOG_LABEL,edit_icon_name,G_CALLBACK(on_log_edit),widgets,ADD_LOG_LABEL,add_icon_name,G_CALLBACK(on_log_add),widgets,REMOVE_LOG_LABEL,remove_icon_name,G_CALLBACK(on_log_remove),widgets,NULL);

@ -74,6 +74,9 @@
#define get_file_folder_size(path) yon_char_append("du -hsc ",path)
#define get_all_files_in_path(path) yon_char_append("find ",path)
#define journald_lower_size_command(new_size) yon_char_append("journalctl --rotate; journalctl --vacuum-size=",new_size)
#define journald_lower_time_command(new_time) yon_char_append("journalctl --rotate; journalctl --vacuum-time=",new_time)
#define group_list_path "/etc/group"
#define edit_icon_name "document-edit-symbolic"
@ -144,8 +147,7 @@ typedef struct {
GtkWidget *Notebook;
GtkWidget *ServicesTree;
GtkWidget *ServicesEditButton;
GtkWidget *ServicesStartStopButton;
GtkWidget *ServicesEnableDisableButton;
GtkWidget *ServicesControlButton;
GtkListStore *list;
GtkListStore *ServicesList;
GtkWidget *UpgradePermissionsMenuItem;
@ -194,6 +196,7 @@ typedef struct {
typedef struct {
GtkWidget *MainWindow;
GtkWidget *TitleLabel;
GtkWidget *plugBox;
GtkWidget *ShowSinceBootButton;
GtkWidget *NewMessagesButton;
@ -257,6 +260,7 @@ typedef struct {
typedef struct {
GtkWidget *MainWindow;
GtkWidget *StatusBox;
GtkWidget *CancelButton;
GtkWidget *SaveButton;
GtkWidget *ResetButton;
@ -291,6 +295,8 @@ typedef struct {
GtkWidget *LowerTimeCombo;
GtkWidget *LowerTimeButton;
GtkWidget *headerTopic;
char *paths;
} journald_window;
typedef struct {
@ -433,6 +439,8 @@ void on_logrotate_tab_open(GtkWidget *self, main_window *widgets);
void yon_combo_compress_check(GtkComboBox *self, journald_window *window);
void on_journald_reset(GtkWidget *self, journald_window *window);
void on_journald_save(GtkWidget *self, journald_window *window);
void on_journald_size_lower_size(GtkWidget *, journald_window *window);
void on_journald_size_lower_time(GtkWidget *, journald_window *window);
journald_window *yon_journald_open(GtkWidget *self, main_window *widgets);
void on_journald_open(GtkWidget *self, main_window *widgets);
void on_log_save(GtkWidget *self, dictionary *dict);
@ -459,4 +467,6 @@ void on_logrotate_apps_configure_activate(GtkWidget *, GtkTreePath*, GtkTreeView
void on_logrotate_edit_activate(GtkWidget*,GtkTreePath*,GtkTreeViewColumn*, logrotate_window *window);
void on_logrotate_closed(GtkWidget *,logrotate_window *window);
void on_rules_changed(GtkEditable *editable, const gchar *text, gint length, gint *position);
void on_service_manage(GtkWidget *,main_window *widgets);
void yon_journald_size_update(journald_window *window);
int main(int argc, char *argv[]);

@ -44,9 +44,10 @@
#define XORG_DESCRIPTION_LABEL _("X.org display server log")
#define XSESSION_DESCRIPTION_LABEL _("Graphics X session log")
#define SAVE_LABEL _("Save")
#define SERVICE_MANAGEMENT_TOOLTIP _("Manage service")
//ubl-settings-logging-inspector.glade
#define INSPECTOR_TITLE_LABEL _("Logs and events - log inspector")
#define INSPECTOR_TITLE_LABEL(target) yon_char_unite(_("Inspect")," \"",target,"\"",NULL)
#define TOOLTIP_BOOT_LABEL _("Show messages since the current system boot")
#define TOOLTIP_FOLLOW_LABEL _("Follow for new messages")
#define TOOLTIP_KERNEL_LABEL _("Show kernel ring buffer")
@ -61,7 +62,7 @@
#define LOG_LABEL _("Log")
//ubl-settings-logging-journald.glade
#define JOURNALD_TITLE_LABEL _("Logs and events - journald configuration")
#define JOURNALD_TITLE_LABEL _("Journald configuration")
#define JOURNAL_DESCRIPTION_LABEL _("Description:")
#define JOURNAL_STORAGE_LABEL _("Journal storage place:")
#define COMPRESSION_LABEL _("Use compression:")
@ -99,7 +100,7 @@
#define RESET_LABEL _("Reset")
//ubl-settings-logging-logrotate.glade
#define LOGROTATE_TITLE_LABEL _("Logs and events - logrotate configuration")
#define LOGROTATE_TITLE_LABEL _("Logrotate configuration")
#define LOGROTATE_LOG_JOURNAL_TAB_LABEL _("Log/Journal:")
#define PATHS_LABEL _("Paths to log and journals files")
#define ON_LABEL _("On")
@ -178,7 +179,7 @@
#define COMMAND_INVALID_LABEL _("Command is invalid")
//ubl-settings-logging-logrotate-table.glade
#define TABLE_TITLE_LABEL _("Logs and events - logrotate table")
#define TABLE_TITLE_LABEL _("Logrotate table")
#define SYSTEM_CONFIGURATION_LABEL _("System configuration")
#define APPLITATIONS_CONFIGURATION_LABEL _("Applications configuration")
#define IMPORT_CONFIGURATION_LABEL _("Import log configuration")
@ -187,7 +188,7 @@
#define CONFIGURE_CONFIGURATION_LABEL _("Configure log")
//ubl-settings-logging-add.glade
#define MONITOR_TITLE_LABEL _("Logs and events - journal configuration")
#define MONITOR_TITLE_LABEL _("Journal configuration")
#define ADD_PATHS_LABEL _("Path (-s):")
#define CONTROL_LABEL _("Control:")
#define LOG_FILE_LABEL _("Log file")
@ -196,7 +197,7 @@
#define NO_FILES_FOUND_LABEL _("Journal/log files were not found")
//ubl-settings-logging-rules.glade
#define RULES_TITLE_LABEL _("Logs and events - rules")
#define RULES_TITLE_LABEL _("Rules")
#define OWNER_LABEL _("Owner rules")
#define GROUP_LABEL _("Group rules")
#define PUBLIC_LABEL _("Public rules")
@ -211,8 +212,8 @@
#define OLD_VALUE_LABEL _("Old value")
#define NEW_VALUE_LABEL _("New value")
#define FILECHOOSER_TITLE_LABEL _("Logs and events - choose a path")
#define SAVE_TITLE_LABEL _("Logs and events - saving")
#define FILECHOOSER_TITLE_LABEL _("Choose a path")
#define SAVE_TITLE_LABEL _("Saving")
#define AUTHTORIZED_LABEL _("Authorization has been elevated")
#define UNAUTHTORIZED_LABEL _("Authorization has been unelevated")

@ -456,7 +456,7 @@
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events - journal configuration</property>
<property name="label" translatable="yes">Journal configuration</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>

@ -373,7 +373,7 @@
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events - log inspector</property>
<property name="label" translatable="yes">Log inspector</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>

@ -97,10 +97,24 @@
<property name="can-focus">False</property>
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkBox" id="StatusBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
@ -666,7 +680,7 @@
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="placeholder-text" translatable="yes">0</property>
<property name="placeholder-text" translatable="yes">/dev/console</property>
</object>
<packing>
<property name="expand">False</property>
@ -837,9 +851,9 @@
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item translatable="yes">Kb</item>
<item translatable="yes">Mb</item>
<item translatable="yes">Gb</item>
<item id="K" translatable="yes">Kb</item>
<item id="M" translatable="yes">Mb</item>
<item id="G" translatable="yes">Gb</item>
</items>
</object>
<packing>
@ -905,11 +919,11 @@
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item translatable="yes">Minutes</item>
<item translatable="yes">Hours</item>
<item translatable="yes">Days</item>
<item translatable="yes">Weeks</item>
<item translatable="yes">Years</item>
<item id="minutes" translatable="yes">Minutes</item>
<item id="hours" translatable="yes">Hours</item>
<item id="days" translatable="yes">Days</item>
<item id="weeks" translatable="yes">Weeks</item>
<item id="years" translatable="yes">Years</item>
</items>
</object>
<packing>
@ -961,7 +975,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
<property name="position">1</property>
</packing>
</child>
</object>
@ -970,7 +984,6 @@
<object class="GtkHeaderBar">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="show-close-button">True</property>
<child type="title">
<object class="GtkLabel" id="headerTopic">
<property name="visible">True</property>
@ -980,7 +993,7 @@
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events - journald configuration</property>
<property name="label" translatable="yes">Journald configuration</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0 -->
<!-- Generated with glade 3.38.2 -->
<interface domain="ubl-settings-logging">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-logging.css -->
@ -2108,7 +2108,7 @@
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events - logrotate configuration</property>
<property name="label" translatable="yes">Logrotate configuration</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0 -->
<!-- Generated with glade 3.38.2 -->
<interface domain="ubl-settings-logging">
<requires lib="gtk+" version="3.24"/>
<!-- interface-css-provider-path ubl-settings-logging.css -->
@ -367,7 +367,7 @@
<property name="margin-start">5</property>
<property name="margin-end">5</property>
<property name="margin-bottom">2</property>
<property name="label" translatable="yes">Logs and events - rules</property>
<property name="label" translatable="yes">Rules</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>

@ -47,9 +47,15 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<column type="gchararray"/>
<!-- column-name StopCommand -->
<column type="gchararray"/>
<!-- column-name LaunchCommand -->
<!-- column-name EnableCommand -->
<column type="gchararray"/>
<!-- column-name PauseCommand -->
<!-- column-name DisableCommand -->
<column type="gchararray"/>
<!-- column-name StatusCommand -->
<column type="gchararray"/>
<!-- column-name CheckActiveCommand -->
<column type="gchararray"/>
<!-- column-name CheckEnableComand -->
<column type="gchararray"/>
</columns>
</object>
@ -77,15 +83,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.trash-symbolic</property>
</object>
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.play-symbolic</property>
</object>
<object class="GtkImage" id="image6">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="icon-name">com.ublinux.ubl-settings-logging.check-symbolic</property>
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.play-symbolic</property>
</object>
<object class="GtkImage" id="image7">
<property name="visible">True</property>
@ -229,6 +230,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="can-focus">True</property>
<property name="model">liststore1</property>
<property name="tooltip-column">2</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="resizable">True</property>
@ -320,30 +324,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkButton" id="ServicesStartStopButton">
<object class="GtkButton" id="ServicesControlButton">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Start service</property>
<property name="image">image5</property>
<style>
<class name="thin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="ServicesEnableDisableButton">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Switch autostart on</property>
<property name="tooltip-text" translatable="yes">Manage service</property>
<property name="image">image6</property>
<style>
<class name="thin"/>
@ -390,6 +376,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="model">ServicesList</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<child>
<object class="GtkTreeViewColumn">
<property name="sizing">fixed</property>

@ -73,7 +73,7 @@ msgstr ""
msgid "Inspect log"
msgstr ""
#: source/ubl-strings.h:22 source/ubl-strings.h:186
#: source/ubl-strings.h:22 source/ubl-strings.h:188
msgid "Configure log"
msgstr ""
@ -169,619 +169,616 @@ msgstr ""
msgid "Graphics X session log"
msgstr ""
#: source/ubl-strings.h:48
msgid "Logs and events - log inspector"
#: source/ubl-strings.h:46
msgid "Save"
msgstr ""
#: source/ubl-strings.h:49
msgid "Show messages since the current system boot"
#: source/ubl-strings.h:47
msgid "Manage service"
msgstr ""
#: source/ubl-strings.h:50
msgid "Follow for new messages"
msgid "Inspect"
msgstr ""
#: source/ubl-strings.h:51
msgid "Show kernel ring buffer"
msgid "Show messages since the current system boot"
msgstr ""
#: source/ubl-strings.h:52
msgid "Show only priority error messages, critical messages and warnings"
msgid "Follow for new messages"
msgstr ""
#: source/ubl-strings.h:53
msgid "Show all boots"
msgid "Show kernel ring buffer"
msgstr ""
#: source/ubl-strings.h:54
msgid "Show a list of all units, ordered by the time of their initialisation"
msgid "Show only priority error messages, critical messages and warnings"
msgstr ""
#: source/ubl-strings.h:55
msgid "Show tree of time-critical initialization unit chain"
msgid "Show all boots"
msgstr ""
#: source/ubl-strings.h:56
msgid "Update"
msgid "Show a list of all units, ordered by the time of their initialisation"
msgstr ""
#: source/ubl-strings.h:57
msgid "Date"
msgid "Show tree of time-critical initialization unit chain"
msgstr ""
#: source/ubl-strings.h:58
msgid "Hostname"
msgid "Update"
msgstr ""
#: source/ubl-strings.h:59
msgid "Process"
msgid "Date"
msgstr ""
#: source/ubl-strings.h:60
msgid "Hostname"
msgstr ""
#: source/ubl-strings.h:61
msgid "Process"
msgstr ""
#: source/ubl-strings.h:62
msgid "Log"
msgstr ""
#: source/ubl-strings.h:63
msgid "Logs and events - journald configuration"
#: source/ubl-strings.h:65
msgid "Journald configuration"
msgstr ""
#: source/ubl-strings.h:64
#: source/ubl-strings.h:66
msgid "Description:"
msgstr ""
#: source/ubl-strings.h:65
#: source/ubl-strings.h:67
msgid "Journal storage place:"
msgstr ""
#: source/ubl-strings.h:66 source/ubl-strings.h:67
#: source/ubl-strings.h:68 source/ubl-strings.h:69
msgid "Use compression:"
msgstr ""
#: source/ubl-strings.h:68
#: source/ubl-strings.h:70
msgid "Split journal files:"
msgstr ""
#: source/ubl-strings.h:69
#: source/ubl-strings.h:71
msgid "Log recording journal interval:"
msgstr ""
#: source/ubl-strings.h:70
#: source/ubl-strings.h:72
msgid "Records amount:"
msgstr ""
#: source/ubl-strings.h:71
#: source/ubl-strings.h:73
msgid "Maximum size of all logs:"
msgstr ""
#: source/ubl-strings.h:72
#: source/ubl-strings.h:74
msgid "Maximum size of rotation journal:"
msgstr ""
#: source/ubl-strings.h:73
#: source/ubl-strings.h:75
msgid "Leave free space at storage:"
msgstr ""
#: source/ubl-strings.h:74
#: source/ubl-strings.h:76
msgid "Redirect to console:"
msgstr ""
#: source/ubl-strings.h:75
#: source/ubl-strings.h:77
msgid "TTY:"
msgstr ""
#: source/ubl-strings.h:76
#: source/ubl-strings.h:78
msgid "Type of forwarded messages:"
msgstr ""
#: source/ubl-strings.h:77
#: source/ubl-strings.h:79
msgid "Journal configuration"
msgstr ""
#: source/ubl-strings.h:78
#: source/ubl-strings.h:80
msgid "Total log size:"
msgstr ""
#: source/ubl-strings.h:79
#: source/ubl-strings.h:81
msgid "Lower size to:"
msgstr ""
#: source/ubl-strings.h:80
#: source/ubl-strings.h:82
msgid "Apply"
msgstr ""
#: source/ubl-strings.h:81
#: source/ubl-strings.h:83
msgid "Statistics"
msgstr ""
#: source/ubl-strings.h:82
#: source/ubl-strings.h:84
msgid "Default"
msgstr ""
#: source/ubl-strings.h:83
#: source/ubl-strings.h:85
msgid "RAM"
msgstr ""
#: source/ubl-strings.h:84
#: source/ubl-strings.h:86
msgid "Drive"
msgstr ""
#: source/ubl-strings.h:85
#: source/ubl-strings.h:87
msgid "Auto"
msgstr ""
#: source/ubl-strings.h:86
#: source/ubl-strings.h:88
msgid "None"
msgstr ""
#: source/ubl-strings.h:87
#: source/ubl-strings.h:89
msgid "Yes"
msgstr ""
#: source/ubl-strings.h:88
#: source/ubl-strings.h:90
msgid "No"
msgstr ""
#: source/ubl-strings.h:89
#: source/ubl-strings.h:91
msgid "After"
msgstr ""
#: source/ubl-strings.h:90
#: source/ubl-strings.h:92
msgid "Kb"
msgstr ""
#: source/ubl-strings.h:91
#: source/ubl-strings.h:93
msgid "Mb"
msgstr ""
#: source/ubl-strings.h:92
#: source/ubl-strings.h:94
msgid "Gb"
msgstr ""
#: source/ubl-strings.h:93
#: source/ubl-strings.h:95
msgid "Minutes"
msgstr ""
#: source/ubl-strings.h:94
#: source/ubl-strings.h:96
msgid "Hours"
msgstr ""
#: source/ubl-strings.h:95
#: source/ubl-strings.h:97
msgid "Days"
msgstr ""
#: source/ubl-strings.h:96
#: source/ubl-strings.h:98
msgid "Weeks"
msgstr ""
#: source/ubl-strings.h:97
#: source/ubl-strings.h:99
msgid "Years"
msgstr ""
#: source/ubl-strings.h:98
#: source/ubl-strings.h:100
msgid "Reset"
msgstr ""
#: source/ubl-strings.h:101
msgid "Logs and events - logrotate configuration"
#: source/ubl-strings.h:103
msgid "Logrotate configuration"
msgstr ""
#: source/ubl-strings.h:102
#: source/ubl-strings.h:104
msgid "Log/Journal:"
msgstr ""
#: source/ubl-strings.h:103
#: source/ubl-strings.h:105
msgid "Paths to log and journals files"
msgstr ""
#: source/ubl-strings.h:104
#: source/ubl-strings.h:106
msgid "On"
msgstr ""
#: source/ubl-strings.h:105
#: source/ubl-strings.h:107
msgid "Off"
msgstr ""
#: source/ubl-strings.h:106 source/ubl-strings.h:160
#: source/ubl-strings.h:108 source/ubl-strings.h:162
msgid "Scenarios"
msgstr ""
#: source/ubl-strings.h:107 source/ubl-strings.h:159
#: source/ubl-strings.h:109 source/ubl-strings.h:161
msgid "Scenarios are running for each rotated journal"
msgstr ""
#: source/ubl-strings.h:108
#: source/ubl-strings.h:110
msgid "Command before rotation (one time):"
msgstr ""
#: source/ubl-strings.h:109
#: source/ubl-strings.h:111
msgid "Command after rotation (one time):"
msgstr ""
#: source/ubl-strings.h:110
#: source/ubl-strings.h:112
msgid "Command before rotation:"
msgstr ""
#: source/ubl-strings.h:111
#: source/ubl-strings.h:113
msgid "Command after rotation:"
msgstr ""
#: source/ubl-strings.h:112
#: source/ubl-strings.h:114
msgid "Rotation period:"
msgstr ""
#: source/ubl-strings.h:113
#: source/ubl-strings.h:115
msgid "Maximum size of file:"
msgstr ""
#: source/ubl-strings.h:114
#: source/ubl-strings.h:116
msgid "Checking frequency configuration"
msgstr ""
#: source/ubl-strings.h:115
#: source/ubl-strings.h:117
msgid "File amount:"
msgstr ""
#: source/ubl-strings.h:116
#: source/ubl-strings.h:118
msgid "Store at:"
msgstr ""
#: source/ubl-strings.h:117
#: source/ubl-strings.h:119
msgid "Rotation as user:"
msgstr ""
#: source/ubl-strings.h:118
#: source/ubl-strings.h:120
msgid "Rotation as group:"
msgstr ""
#: source/ubl-strings.h:119
#: source/ubl-strings.h:121
msgid "Rotation configuration"
msgstr ""
#: source/ubl-strings.h:120
#: source/ubl-strings.h:122
msgid "Error processing:"
msgstr ""
#: source/ubl-strings.h:121
#: source/ubl-strings.h:123
msgid "Rotation of jurnal even when it is empty:"
msgstr ""
#: source/ubl-strings.h:122
#: source/ubl-strings.h:124
msgid "Do not rotate journal younger than"
msgstr ""
#: source/ubl-strings.h:123
#: source/ubl-strings.h:125
msgid "days"
msgstr ""
#: source/ubl-strings.h:124
#: source/ubl-strings.h:126
msgid "Delete rotated journals older than"
msgstr ""
#: source/ubl-strings.h:125
#: source/ubl-strings.h:127
msgid "Rotate journals if size more than"
msgstr ""
#: source/ubl-strings.h:126
#: source/ubl-strings.h:128
msgid "but not earlier than the specified time interval"
msgstr ""
#: source/ubl-strings.h:127
#: source/ubl-strings.h:129
msgid "before specified time interval"
msgstr ""
#: source/ubl-strings.h:128
#: source/ubl-strings.h:130
msgid "File choosing configuration"
msgstr ""
#: source/ubl-strings.h:129
#: source/ubl-strings.h:131
msgid "Create log"
msgstr ""
#: source/ubl-strings.h:130
#: source/ubl-strings.h:132
msgid "as user:"
msgstr ""
#: source/ubl-strings.h:131
#: source/ubl-strings.h:133
msgid "as group:"
msgstr ""
#: source/ubl-strings.h:132
#: source/ubl-strings.h:134
msgid "rules:"
msgstr ""
#: source/ubl-strings.h:133
#: source/ubl-strings.h:135
msgid ""
"Cut source journal fileafter copy creating instead of moving old journal "
"file and creating new one"
msgstr ""
#: source/ubl-strings.h:134
#: source/ubl-strings.h:136
msgid "Files and directories configuration"
msgstr ""
#: source/ubl-strings.h:135
#: source/ubl-strings.h:137
msgid "Delay compression by one journal in queue:"
msgstr ""
#: source/ubl-strings.h:136
#: source/ubl-strings.h:138
msgid "Compression configuration"
msgstr ""
#: source/ubl-strings.h:137
#: source/ubl-strings.h:139
msgid "Save original log file after rotation if it has specified extension:"
msgstr ""
#: source/ubl-strings.h:138
#: source/ubl-strings.h:140
msgid "Add date of rotation before log header"
msgstr ""
#: source/ubl-strings.h:139
#: source/ubl-strings.h:141
msgid "Number from which numbering of old logs will begin"
msgstr ""
#: source/ubl-strings.h:140
#: source/ubl-strings.h:142
msgid "Filename configuration"
msgstr ""
#: source/ubl-strings.h:141
#: source/ubl-strings.h:143
msgid "Email after rotation:"
msgstr ""
#: source/ubl-strings.h:142
#: source/ubl-strings.h:144
msgid "adress:"
msgstr ""
#: source/ubl-strings.h:143
#: source/ubl-strings.h:145
msgid "contents:"
msgstr ""
#: source/ubl-strings.h:144 source/ubl-strings.h:157
#: source/ubl-strings.h:146 source/ubl-strings.h:159
msgid "Message configuration"
msgstr ""
#: source/ubl-strings.h:145
#: source/ubl-strings.h:147
msgid "Manual input:"
msgstr ""
#: source/ubl-strings.h:146
#: source/ubl-strings.h:148
msgid "Log (-s) size:"
msgstr ""
#: source/ubl-strings.h:147
#: source/ubl-strings.h:149
msgid "Same directory"
msgstr ""
#: source/ubl-strings.h:148
#: source/ubl-strings.h:150
msgid "Separate directory"
msgstr ""
#: source/ubl-strings.h:149
#: source/ubl-strings.h:151
msgid "Output errors if log file does not exist*"
msgstr ""
#: source/ubl-strings.h:150
#: source/ubl-strings.h:152
msgid "Do not output errors if log file does not exist"
msgstr ""
#: source/ubl-strings.h:151
#: source/ubl-strings.h:153
msgid "Do not output"
msgstr ""
#: source/ubl-strings.h:152
#: source/ubl-strings.h:154
msgid "Output errors"
msgstr ""
#: source/ubl-strings.h:153
#: source/ubl-strings.h:155
msgid "Send Email"
msgstr ""
#: source/ubl-strings.h:154
#: source/ubl-strings.h:156
msgid "Don't send Email"
msgstr ""
#: source/ubl-strings.h:155
#: source/ubl-strings.h:157
msgid "First rotated copy"
msgstr ""
#: source/ubl-strings.h:156
#: source/ubl-strings.h:158
msgid "Last rotated copy"
msgstr ""
#: source/ubl-strings.h:158
#: source/ubl-strings.h:160
msgid "Endwork command:"
msgstr ""
#: source/ubl-strings.h:161
#: source/ubl-strings.h:163
msgid "Hourly"
msgstr ""
#: source/ubl-strings.h:162
#: source/ubl-strings.h:164
msgid "Daily"
msgstr ""
#: source/ubl-strings.h:163
#: source/ubl-strings.h:165
msgid "Weekly*"
msgstr ""
#: source/ubl-strings.h:164
#: source/ubl-strings.h:166
msgid "Monthly"
msgstr ""
#: source/ubl-strings.h:165
#: source/ubl-strings.h:167
msgid "Yearly"
msgstr ""
#: source/ubl-strings.h:166
#: source/ubl-strings.h:168
msgid "Monday"
msgstr ""
#: source/ubl-strings.h:167
#: source/ubl-strings.h:169
msgid "Tuesday"
msgstr ""
#: source/ubl-strings.h:168
#: source/ubl-strings.h:170
msgid "Wednesday"
msgstr ""
#: source/ubl-strings.h:169
#: source/ubl-strings.h:171
msgid "Thursday"
msgstr ""
#: source/ubl-strings.h:170
#: source/ubl-strings.h:172
msgid "Friday"
msgstr ""
#: source/ubl-strings.h:171
#: source/ubl-strings.h:173
msgid "Saturday"
msgstr ""
#: source/ubl-strings.h:172
#: source/ubl-strings.h:174
msgid "Sunday*"
msgstr ""
#: source/ubl-strings.h:173
#: source/ubl-strings.h:175
msgid "Same record already exists"
msgstr ""
#: source/ubl-strings.h:174
#: source/ubl-strings.h:176
msgid "Empty important field"
msgstr ""
#: source/ubl-strings.h:175
#: source/ubl-strings.h:177
msgid "Repeating paths"
msgstr ""
#: source/ubl-strings.h:176
#: source/ubl-strings.h:178
msgid "Write down all important fields"
msgstr ""
#: source/ubl-strings.h:177
#: source/ubl-strings.h:179
msgid "Command is invalid"
msgstr ""
#: source/ubl-strings.h:180
msgid "Logs and events - logrotate table"
#: source/ubl-strings.h:182
msgid "Logrotate table"
msgstr ""
#: source/ubl-strings.h:181
#: source/ubl-strings.h:183
msgid "System configuration"
msgstr ""
#: source/ubl-strings.h:182
#: source/ubl-strings.h:184
msgid "Applications configuration"
msgstr ""
#: source/ubl-strings.h:183
#: source/ubl-strings.h:185
msgid "Import log configuration"
msgstr ""
#: source/ubl-strings.h:184
#: source/ubl-strings.h:186
msgid "Add log configuration"
msgstr ""
#: source/ubl-strings.h:185
#: source/ubl-strings.h:187
msgid "Remove log configuration"
msgstr ""
#: source/ubl-strings.h:189
msgid "Logs and events - journal configuration"
#: source/ubl-strings.h:191
msgid "Journal configuration"
msgstr ""
#: source/ubl-strings.h:190
#: source/ubl-strings.h:192
msgid "Path (-s):"
msgstr ""
#: source/ubl-strings.h:191
#: source/ubl-strings.h:193
msgid "Control:"
msgstr ""
#: source/ubl-strings.h:192
#: source/ubl-strings.h:194
msgid "Log file"
msgstr ""
#: source/ubl-strings.h:193
#: source/ubl-strings.h:195
msgid "Name:"
msgstr ""
#: source/ubl-strings.h:194
#: source/ubl-strings.h:196
msgid "Log size:"
msgstr ""
#: source/ubl-strings.h:195
#: source/ubl-strings.h:197
msgid "Journal/log files were not found"
msgstr ""
#: source/ubl-strings.h:198
msgid "Logs and events - rules"
#: source/ubl-strings.h:200
msgid "Rules"
msgstr ""
#: source/ubl-strings.h:199
#: source/ubl-strings.h:201
msgid "Owner rules"
msgstr ""
#: source/ubl-strings.h:200
#: source/ubl-strings.h:202
msgid "Group rules"
msgstr ""
#: source/ubl-strings.h:201
#: source/ubl-strings.h:203
msgid "Public rules"
msgstr ""
#: source/ubl-strings.h:202
#: source/ubl-strings.h:204
msgid "Read"
msgstr ""
#: source/ubl-strings.h:203
#: source/ubl-strings.h:205
msgid "Write"
msgstr ""
#: source/ubl-strings.h:204
#: source/ubl-strings.h:206
msgid "Execute"
msgstr ""
#: source/ubl-strings.h:205
#: source/ubl-strings.h:207
msgid "Value:"
msgstr ""
#: source/ubl-strings.h:208
#: source/ubl-strings.h:210
msgid ": no such file(s)"
msgstr ""
#: source/ubl-strings.h:209
#: source/ubl-strings.h:211
msgid "Parameter"
msgstr ""
#: source/ubl-strings.h:210
#: source/ubl-strings.h:212
msgid "Old value"
msgstr ""
#: source/ubl-strings.h:211
#: source/ubl-strings.h:213
msgid "New value"
msgstr ""
#: source/ubl-strings.h:213
msgid "Logs and events - choose a path"
#: source/ubl-strings.h:215
msgid "Choose a path"
msgstr ""
#: source/ubl-strings.h:214
msgid "Logs and events - saving"
#: source/ubl-strings.h:216
msgid "Saving"
msgstr ""
#: source/ubl-strings.h:216
#: source/ubl-strings.h:218
msgid "Authorization has been elevated"
msgstr ""
#: source/ubl-strings.h:217
#: source/ubl-strings.h:219
msgid "Authorization has been unelevated"
msgstr ""
msgid "System event log rotation service"
msgstr ""
msgid ""
"Service for collecting messages from system events of active network "
"devices"
msgstr ""
msgid "Save"
msgstr ""

@ -74,7 +74,7 @@ msgstr "Описание"
msgid "Inspect log"
msgstr "Просмотреть лог"
#: source/ubl-strings.h:22 source/ubl-strings.h:186
#: source/ubl-strings.h:22 source/ubl-strings.h:188
msgid "Configure log"
msgstr "Настроить лог"
@ -170,331 +170,339 @@ msgstr "Журнал работы дисплейного сервера X.org"
msgid "Graphics X session log"
msgstr "Журнал сеансов графической системы X"
#: source/ubl-strings.h:48
msgid "Logs and events - log inspector"
msgstr "Логи и журналы событий - просмотр журнала"
#: source/ubl-strings.h:46
msgid "Save"
msgstr "Сохранить"
#: source/ubl-strings.h:47
msgid "Manage service"
msgstr "Настроить службу"
#: source/ubl-strings.h:50
msgid "Inspect"
msgstr "Просмотр"
#: source/ubl-strings.h:49
#: source/ubl-strings.h:51
msgid "Show messages since the current system boot"
msgstr "Показать сообщения с момента загрузки системы"
#: source/ubl-strings.h:50
#: source/ubl-strings.h:52
msgid "Follow for new messages"
msgstr "Следить за появлением новых сообщений"
#: source/ubl-strings.h:51
#: source/ubl-strings.h:53
msgid "Show kernel ring buffer"
msgstr "Показать кольцевой буфер ядра"
#: source/ubl-strings.h:52
#: source/ubl-strings.h:54
msgid "Show only priority error messages, critical messages and warnings"
msgstr ""
"Показать только приоритетные сообщения об ошибках, критических сообщениях и "
"предупреждениях"
#: source/ubl-strings.h:53
#: source/ubl-strings.h:55
msgid "Show all boots"
msgstr "Показать все загрузки в журнале"
#: source/ubl-strings.h:54
#: source/ubl-strings.h:56
msgid "Show a list of all units, ordered by the time of their initialisation"
msgstr ""
"Показать список всех работающих юнитов, упорядоченных по времени их "
"инициализации"
#: source/ubl-strings.h:55
#: source/ubl-strings.h:57
msgid "Show tree of time-critical initialization unit chain"
msgstr "Показать дерево критической по времени цепочки юнитов инициализации"
#: source/ubl-strings.h:56
#: source/ubl-strings.h:58
msgid "Update"
msgstr "Обновить"
#: source/ubl-strings.h:57
#: source/ubl-strings.h:59
msgid "Date"
msgstr "Дата"
#: source/ubl-strings.h:58
#: source/ubl-strings.h:60
msgid "Hostname"
msgstr "Имя хоста"
#: source/ubl-strings.h:59
#: source/ubl-strings.h:61
msgid "Process"
msgstr "Процесс"
#: source/ubl-strings.h:60
#: source/ubl-strings.h:62
msgid "Log"
msgstr "Запись лога"
#: source/ubl-strings.h:63
msgid "Logs and events - journald configuration"
msgstr "Логи и журналы событий - конфигурация сервиса journald"
#: source/ubl-strings.h:65
msgid "Journald configuration"
msgstr "Конфигурация сервиса journald"
#: source/ubl-strings.h:64
#: source/ubl-strings.h:66
msgid "Description:"
msgstr "Описание:"
#: source/ubl-strings.h:65
#: source/ubl-strings.h:67
msgid "Journal storage place:"
msgstr "Место хранения журнала:"
#: source/ubl-strings.h:66 source/ubl-strings.h:67
#: source/ubl-strings.h:68 source/ubl-strings.h:69
msgid "Use compression:"
msgstr "Использовать сжатие:"
#: source/ubl-strings.h:68
#: source/ubl-strings.h:70
msgid "Split journal files:"
msgstr "Разделять файлы журнала:"
#: source/ubl-strings.h:69
#: source/ubl-strings.h:71
msgid "Log recording journal interval:"
msgstr "Интервал записи журнала:"
#: source/ubl-strings.h:70
#: source/ubl-strings.h:72
msgid "Records amount:"
msgstr "Количество записей:"
#: source/ubl-strings.h:71
#: source/ubl-strings.h:73
msgid "Maximum size of all logs:"
msgstr "Максимальный размер всех журналов:"
#: source/ubl-strings.h:72
#: source/ubl-strings.h:74
msgid "Maximum size of rotation journal:"
msgstr "Максимальный размер журнала для ротации:"
#: source/ubl-strings.h:73
#: source/ubl-strings.h:75
msgid "Leave free space at storage:"
msgstr "Оставлять в хранилище свободным:"
#: source/ubl-strings.h:74
#: source/ubl-strings.h:76
msgid "Redirect to console:"
msgstr "Перенаправление в консоль:"
#: source/ubl-strings.h:75
#: source/ubl-strings.h:77
msgid "TTY:"
msgstr "TTY:"
#: source/ubl-strings.h:76
#: source/ubl-strings.h:78
msgid "Type of forwarded messages:"
msgstr "Тип перенаправляемых сообщений:"
#: source/ubl-strings.h:77
#: source/ubl-strings.h:79
msgid "Journal configuration"
msgstr "Настройка файла журнала"
#: source/ubl-strings.h:78
#: source/ubl-strings.h:80
msgid "Total log size:"
msgstr "Общий размер журналов:"
#: source/ubl-strings.h:79
#: source/ubl-strings.h:81
msgid "Lower size to:"
msgstr "Уменьшить размер до:"
#: source/ubl-strings.h:80
#: source/ubl-strings.h:82
msgid "Apply"
msgstr "Применить"
#: source/ubl-strings.h:81
#: source/ubl-strings.h:83
msgid "Statistics"
msgstr "Статистика"
#: source/ubl-strings.h:82
#: source/ubl-strings.h:84
msgid "Default"
msgstr "По умолчанию"
#: source/ubl-strings.h:83
#: source/ubl-strings.h:85
msgid "RAM"
msgstr "Оперативная память"
#: source/ubl-strings.h:84
#: source/ubl-strings.h:86
msgid "Drive"
msgstr "Диск"
#: source/ubl-strings.h:85
#: source/ubl-strings.h:87
msgid "Auto"
msgstr "Автоматически"
#: source/ubl-strings.h:86
#: source/ubl-strings.h:88
msgid "None"
msgstr "Нет"
#: source/ubl-strings.h:87
#: source/ubl-strings.h:89
msgid "Yes"
msgstr "Да"
#: source/ubl-strings.h:88
#: source/ubl-strings.h:90
msgid "No"
msgstr "Нет"
#: source/ubl-strings.h:89
#: source/ubl-strings.h:91
msgid "After"
msgstr "После"
#: source/ubl-strings.h:90
#: source/ubl-strings.h:92
msgid "Kb"
msgstr "Кб"
#: source/ubl-strings.h:91
#: source/ubl-strings.h:93
msgid "Mb"
msgstr "Мб"
#: source/ubl-strings.h:92
#: source/ubl-strings.h:94
msgid "Gb"
msgstr "Гб"
#: source/ubl-strings.h:93
#: source/ubl-strings.h:95
msgid "Minutes"
msgstr "Минут"
#: source/ubl-strings.h:94
#: source/ubl-strings.h:96
msgid "Hours"
msgstr "Часов"
#: source/ubl-strings.h:95
#: source/ubl-strings.h:97
msgid "Days"
msgstr "Дней"
#: source/ubl-strings.h:96
#: source/ubl-strings.h:98
msgid "Weeks"
msgstr "Недель"
#: source/ubl-strings.h:97
#: source/ubl-strings.h:99
msgid "Years"
msgstr "Лет"
#: source/ubl-strings.h:98
#: source/ubl-strings.h:100
msgid "Reset"
msgstr "По умолчанию"
#: source/ubl-strings.h:101
msgid "Logs and events - logrotate configuration"
msgstr "Логи и журналы событий - конфигурация сервиса logrotate"
#: source/ubl-strings.h:103
msgid "Logrotate configuration"
msgstr "Настройка ротации и хранения журналов Logrotate"
#: source/ubl-strings.h:102
#: source/ubl-strings.h:104
msgid "Log/Journal:"
msgstr "Лог/Журнал:"
#: source/ubl-strings.h:103
#: source/ubl-strings.h:105
msgid "Paths to log and journals files"
msgstr "Пути к файлам лога/журнала"
#: source/ubl-strings.h:104
#: source/ubl-strings.h:106
msgid "On"
msgstr "Включено"
#: source/ubl-strings.h:105
#: source/ubl-strings.h:107
msgid "Off"
msgstr "Выключено"
#: source/ubl-strings.h:106 source/ubl-strings.h:160
#: source/ubl-strings.h:108 source/ubl-strings.h:162
msgid "Scenarios"
msgstr "Сценарии"
#: source/ubl-strings.h:107 source/ubl-strings.h:159
#: source/ubl-strings.h:109 source/ubl-strings.h:161
msgid "Scenarios are running for each rotated journal"
msgstr "Сценарии запускаются для каждого ротируемого журнала"
#: source/ubl-strings.h:108
#: source/ubl-strings.h:110
msgid "Command before rotation (one time):"
msgstr "Команда перед ротацией (один раз):"
#: source/ubl-strings.h:109
#: source/ubl-strings.h:111
msgid "Command after rotation (one time):"
msgstr "Команда после ротации (один раз):"
#: source/ubl-strings.h:110
#: source/ubl-strings.h:112
msgid "Command before rotation:"
msgstr "Команда перед ротацией:"
#: source/ubl-strings.h:111
#: source/ubl-strings.h:113
msgid "Command after rotation:"
msgstr "Команда после ротации:"
#: source/ubl-strings.h:112
#: source/ubl-strings.h:114
msgid "Rotation period:"
msgstr "Период ротации:"
#: source/ubl-strings.h:113
#: source/ubl-strings.h:115
msgid "Maximum size of file:"
msgstr "Максимальный размер файла:"
#: source/ubl-strings.h:114
#: source/ubl-strings.h:116
msgid "Checking frequency configuration"
msgstr "Настройки частоты проверки"
#: source/ubl-strings.h:115
#: source/ubl-strings.h:117
msgid "File amount:"
msgstr "Количество файлов:"
#: source/ubl-strings.h:116
#: source/ubl-strings.h:118
msgid "Store at:"
msgstr "Хранить в:"
#: source/ubl-strings.h:117
#: source/ubl-strings.h:119
msgid "Rotation as user:"
msgstr "Ротация от пользователя:"
#: source/ubl-strings.h:118
#: source/ubl-strings.h:120
msgid "Rotation as group:"
msgstr "Ротация от группы:"
#: source/ubl-strings.h:119
#: source/ubl-strings.h:121
msgid "Rotation configuration"
msgstr "Настройки ротации"
#: source/ubl-strings.h:120
#: source/ubl-strings.h:122
msgid "Error processing:"
msgstr "Обработка ошибок:"
#: source/ubl-strings.h:121
#: source/ubl-strings.h:123
msgid "Rotation of jurnal even when it is empty:"
msgstr "Ротация файла журнала даже если он пуст:"
#: source/ubl-strings.h:122
#: source/ubl-strings.h:124
msgid "Do not rotate journal younger than"
msgstr "Не ротировать журналы, возраст которых меньше"
#: source/ubl-strings.h:123
#: source/ubl-strings.h:125
msgid "days"
msgstr "дней"
#: source/ubl-strings.h:124
#: source/ubl-strings.h:126
msgid "Delete rotated journals older than"
msgstr "Удалить ротированные журналы старше"
#: source/ubl-strings.h:125
#: source/ubl-strings.h:127
msgid "Rotate journals if size more than"
msgstr "Ротация журналов, если размер превышает"
#: source/ubl-strings.h:126
#: source/ubl-strings.h:128
msgid "but not earlier than the specified time interval"
msgstr "но не раньше указанного интервала времени"
#: source/ubl-strings.h:127
#: source/ubl-strings.h:129
msgid "before specified time interval"
msgstr "до истечения указанного интервала времени"
#: source/ubl-strings.h:128
#: source/ubl-strings.h:130
msgid "File choosing configuration"
msgstr "Настройки выбора файла"
#: source/ubl-strings.h:129
#: source/ubl-strings.h:131
msgid "Create log"
msgstr "Создавать лог"
#: source/ubl-strings.h:130
#: source/ubl-strings.h:132
msgid "as user:"
msgstr "от пользователя:"
#: source/ubl-strings.h:131
#: source/ubl-strings.h:133
msgid "as group:"
msgstr "от группы:"
#: source/ubl-strings.h:132
#: source/ubl-strings.h:134
msgid "rules:"
msgstr "права:"
#: source/ubl-strings.h:133
#: source/ubl-strings.h:135
msgid ""
"Cut source journal fileafter copy creating instead of moving old journal "
"file and creating new one"
@ -502,278 +510,282 @@ msgstr ""
"После создания копии, обрезать исходный файл журнала взамен перемещения "
"старого файла журнала и создания нового"
#: source/ubl-strings.h:134
#: source/ubl-strings.h:136
msgid "Files and directories configuration"
msgstr "Настройки файлов и папок"
#: source/ubl-strings.h:135
#: source/ubl-strings.h:137
msgid "Delay compression by one journal in queue:"
msgstr "Отложить сжание на один журнал в очереди:"
#: source/ubl-strings.h:136
#: source/ubl-strings.h:138
msgid "Compression configuration"
msgstr "Настройка сжатия"
#: source/ubl-strings.h:137
#: source/ubl-strings.h:139
msgid "Save original log file after rotation if it has specified extension:"
msgstr ""
"Сохранять оригинальный лог после ротации, если у него указано расширение:"
#: source/ubl-strings.h:138
#: source/ubl-strings.h:140
msgid "Add date of rotation before log header"
msgstr "Добавлять дату ротации перед заголовком старого лога:"
#: source/ubl-strings.h:139
#: source/ubl-strings.h:141
msgid "Number from which numbering of old logs will begin"
msgstr "Номер, с которого будет начата нумерация старых логов:"
#: source/ubl-strings.h:140
#: source/ubl-strings.h:142
msgid "Filename configuration"
msgstr "Настройка имени файлов"
#: source/ubl-strings.h:141
#: source/ubl-strings.h:143
msgid "Email after rotation:"
msgstr "Отправка Email после ротации:"
#: source/ubl-strings.h:142
#: source/ubl-strings.h:144
msgid "adress:"
msgstr "на адрес:"
#: source/ubl-strings.h:143
#: source/ubl-strings.h:145
msgid "contents:"
msgstr "содержимое:"
#: source/ubl-strings.h:144 source/ubl-strings.h:157
#: source/ubl-strings.h:146 source/ubl-strings.h:159
msgid "Message configuration"
msgstr "Настройка сообщения"
#: source/ubl-strings.h:145
#: source/ubl-strings.h:147
msgid "Manual input:"
msgstr "Команды настройки"
#: source/ubl-strings.h:146
#: source/ubl-strings.h:148
msgid "Log (-s) size:"
msgstr "Общий размер лога (-ов):"
#: source/ubl-strings.h:147
#: source/ubl-strings.h:149
msgid "Same directory"
msgstr "Той же папке"
#: source/ubl-strings.h:148
#: source/ubl-strings.h:150
msgid "Separate directory"
msgstr "Другой папке"
#: source/ubl-strings.h:149
#: source/ubl-strings.h:151
msgid "Output errors if log file does not exist*"
msgstr "Выводить ошибки, если лог файла не существует*"
#: source/ubl-strings.h:150
#: source/ubl-strings.h:152
msgid "Do not output errors if log file does not exist"
msgstr "Не выводить ошибки, если лог файла не существует"
#: source/ubl-strings.h:151
#: source/ubl-strings.h:153
msgid "Do not output"
msgstr "Не выводить"
#: source/ubl-strings.h:152
#: source/ubl-strings.h:154
msgid "Output errors"
msgstr "Выводить ошибки"
#: source/ubl-strings.h:153
#: source/ubl-strings.h:155
msgid "Send Email"
msgstr "Отправлять Email"
#: source/ubl-strings.h:154
#: source/ubl-strings.h:156
msgid "Don't send Email"
msgstr "Не отправлять Email"
#: source/ubl-strings.h:155
#: source/ubl-strings.h:157
msgid "First rotated copy"
msgstr "Первая ротированная копия"
#: source/ubl-strings.h:156
#: source/ubl-strings.h:158
msgid "Last rotated copy"
msgstr "Последняя ротированная копия"
#: source/ubl-strings.h:158
#: source/ubl-strings.h:160
msgid "Endwork command:"
msgstr "Команда перед удалением файла журнала:"
#: source/ubl-strings.h:161
#: source/ubl-strings.h:163
msgid "Hourly"
msgstr "Час"
#: source/ubl-strings.h:162
#: source/ubl-strings.h:164
msgid "Daily"
msgstr "День"
#: source/ubl-strings.h:163
#: source/ubl-strings.h:165
msgid "Weekly*"
msgstr "Неделя*"
#: source/ubl-strings.h:164
#: source/ubl-strings.h:166
msgid "Monthly"
msgstr "Месяц"
#: source/ubl-strings.h:165
#: source/ubl-strings.h:167
msgid "Yearly"
msgstr "Год"
#: source/ubl-strings.h:166
#: source/ubl-strings.h:168
msgid "Monday"
msgstr "Понедельник"
#: source/ubl-strings.h:167
#: source/ubl-strings.h:169
msgid "Tuesday"
msgstr "Вторник"
#: source/ubl-strings.h:168
#: source/ubl-strings.h:170
msgid "Wednesday"
msgstr "Среда"
#: source/ubl-strings.h:169
#: source/ubl-strings.h:171
msgid "Thursday"
msgstr "Четверг"
#: source/ubl-strings.h:170
#: source/ubl-strings.h:172
msgid "Friday"
msgstr "Пятница"
#: source/ubl-strings.h:171
#: source/ubl-strings.h:173
msgid "Saturday"
msgstr "Суббота"
#: source/ubl-strings.h:172
#: source/ubl-strings.h:174
msgid "Sunday*"
msgstr "Воскресенье*"
#: source/ubl-strings.h:173
#: source/ubl-strings.h:175
msgid "Same record already exists"
msgstr "Такая запись уже существует"
#: source/ubl-strings.h:174
#: source/ubl-strings.h:176
msgid "Empty important field"
msgstr "Важное поле не заполнено"
#: source/ubl-strings.h:175
#: source/ubl-strings.h:177
msgid "Repeating paths"
msgstr "Повторяющиеся пути"
#: source/ubl-strings.h:176
#: source/ubl-strings.h:178
msgid "Write down all important fields"
msgstr "Введите все необходимые поля"
#: source/ubl-strings.h:177
#: source/ubl-strings.h:179
msgid "Command is invalid"
msgstr "Неверная команда"
#: source/ubl-strings.h:180
msgid "Logs and events - logrotate table"
msgstr "Логи и журналы событий - таблица журналов logrotate"
#: source/ubl-strings.h:182
msgid "Logrotate table"
msgstr "Таблица журналов logrotate"
#: source/ubl-strings.h:181
#: source/ubl-strings.h:183
msgid "System configuration"
msgstr "Настройки системы"
#: source/ubl-strings.h:182
#: source/ubl-strings.h:184
msgid "Applications configuration"
msgstr "Настройки приложений"
#: source/ubl-strings.h:183
#: source/ubl-strings.h:185
msgid "Import log configuration"
msgstr "Импортировать конфигурацию лога"
#: source/ubl-strings.h:184
#: source/ubl-strings.h:186
msgid "Add log configuration"
msgstr "Добавить конфигурацию лога"
#: source/ubl-strings.h:185
#: source/ubl-strings.h:187
msgid "Remove log configuration"
msgstr "Удалить конфигурацию лога"
#: source/ubl-strings.h:189
msgid "Logs and events - journal configuration"
msgstr "Логи и журналы событий - конфигурация журнала"
#: source/ubl-strings.h:190
#: source/ubl-strings.h:192
msgid "Path (-s):"
msgstr "Путь (-и):"
#: source/ubl-strings.h:191
#: source/ubl-strings.h:193
msgid "Control:"
msgstr "Управление:"
#: source/ubl-strings.h:192
#: source/ubl-strings.h:194
msgid "Log file"
msgstr "Файл лога"
#: source/ubl-strings.h:193
#: source/ubl-strings.h:195
msgid "Name:"
msgstr "Имя:"
#: source/ubl-strings.h:194
#: source/ubl-strings.h:196
msgid "Log size:"
msgstr "Размер лога:"
#: source/ubl-strings.h:195
#: source/ubl-strings.h:197
msgid "Journal/log files were not found"
msgstr "Файлы журналов/логов не были найдены"
#: source/ubl-strings.h:198
msgid "Logs and events - rules"
msgstr "Логи и журналы событий - правила"
#: source/ubl-strings.h:200
msgid "Rules"
msgstr "Правила"
#: source/ubl-strings.h:199
#: source/ubl-strings.h:201
msgid "Owner rules"
msgstr "Правила владельца"
#: source/ubl-strings.h:200
#: source/ubl-strings.h:202
msgid "Group rules"
msgstr "Правила группы"
#: source/ubl-strings.h:201
#: source/ubl-strings.h:203
msgid "Public rules"
msgstr "Правила остальных"
#: source/ubl-strings.h:202
#: source/ubl-strings.h:204
msgid "Read"
msgstr "Чтение"
#: source/ubl-strings.h:203
#: source/ubl-strings.h:205
msgid "Write"
msgstr "Запись"
#: source/ubl-strings.h:204
#: source/ubl-strings.h:206
msgid "Execute"
msgstr "Исполнение"
#: source/ubl-strings.h:205
#: source/ubl-strings.h:207
msgid "Value:"
msgstr "Значение:"
#: source/ubl-strings.h:208
#: source/ubl-strings.h:210
msgid ": no such file(s)"
msgstr ": файл(ы) не найден(ы)"
#: source/ubl-strings.h:209
#: source/ubl-strings.h:211
msgid "Parameter"
msgstr "Параметр"
#: source/ubl-strings.h:210
#: source/ubl-strings.h:212
msgid "Old value"
msgstr "Старое значение"
#: source/ubl-strings.h:211
#: source/ubl-strings.h:213
msgid "New value"
msgstr "Новое значение"
#: source/ubl-strings.h:213
msgid "Logs and events - choose a path"
msgstr "Логи и журналы событий - Выбор пути"
#: source/ubl-strings.h:215
msgid "Choose a path"
msgstr "Выбор пути"
#: source/ubl-strings.h:216
msgid "Saving"
msgstr "Сохранение"
#: source/ubl-strings.h:214
msgid "Logs and events - saving"
msgstr "Логи и журналы событий - сохранение"
#: source/ubl-strings.h:218
msgid "Authorization has been elevated"
msgstr ""
#: source/ubl-strings.h:219
msgid "Authorization has been unelevated"
msgstr ""
msgid "System event log rotation service"
msgstr "Служба ротации системных журналов событий"
@ -783,5 +795,5 @@ msgid ""
"devices"
msgstr "Сервис сбора сообщений системных событий активных сетевых устройств"
msgid "Save"
msgstr "Сохранить"
msgid "Log inspector"
msgstr "Просмотр журнала"

Loading…
Cancel
Save