Новая пользовательская конфигурация

Я хочу обезопасить свой каталог Dropbox от непреднамеренных изменений. Поэтому я сделал для своего каталога и файлов следующие действия:

chown -R dropbox:dropbox Dropbox

Идея состоит в том, что я работаю под обычным пользователем, назовем его USER. И я запускаю dropbox от имени пользователя dropbox:

sudo -u dropbox dropbox start

Но есть ошибка, и я не знаю, как с ней справиться:

Unable to access the X Display, is $DISPLAY set properly?

Как правильно создать нового пользователя? таким образом, чтобы достичь этой цели? В настоящее время единственные файлы конфигурации в каталоге /home/dropbox находятся в каталоге /etc/skel/.

ОБНОВЛЕНИЕ По предложению Элии Кагана:

Я не могу запустить Dropbox с gksu, когда я пытаюсь сделать это, я получаю это:

gksu -u dropbox dropbox start -i
gksu: option requires an argument -- 'i'

Под выпадающим пользователем:

dropbox start -i
Starting Dropbox...No protocol specified
No protocol specified
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:57: GtkWarning: could not open display
warnings.warn(str(e), _gtk.Warning)
/usr/bin/dropbox:406: Warning: invalid (NULL) pointer instance
  title = "Dropbox Installation")
/usr/bin/dropbox:406: Warning: g_signal_connect_data: assertion     `G_TYPE_CHECK_INSTANCE (instance)' failed
  title = "Dropbox Installation")
/usr/bin/dropbox:414: GtkWarning: IA__gtk_settings_get_for_screen: assertion     `GDK_IS_SCREEN (screen)' failed
  self.ok = ok = gtk.Button(stock=gtk.STOCK_OK)
/usr/bin/dropbox:414: Warning: g_object_get: assertion `G_IS_OBJECT (object)'     failed
  self.ok = ok = gtk.Button(stock=gtk.STOCK_OK)
/usr/bin/dropbox:414: Warning: value "TRUE" of type `gboolean' is invalid or     out of range for property `visible' of type `gboolean'
  self.ok = ok = gtk.Button(stock=gtk.STOCK_OK)
/usr/bin/dropbox:419: GtkWarning: IA__gtk_settings_get_for_screen: assertion     `GDK_IS_SCREEN (screen)' failed
  cancel = gtk.Button(stock=gtk.STOCK_CANCEL)
/usr/bin/dropbox:419: Warning: g_object_get: assertion `G_IS_OBJECT (object)'     failed
  cancel = gtk.Button(stock=gtk.STOCK_CANCEL)
/usr/bin/dropbox:419: Warning: value "TRUE" of type `gboolean' is invalid or out of range for property `visible' of type `gboolean'
  cancel = gtk.Button(stock=gtk.STOCK_CANCEL)
/usr/bin/dropbox:486: GtkWarning: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window
  dialog.show()
/usr/bin/dropbox:486: GtkWarning: IA__gdk_pango_context_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed
  dialog.show()
/usr/bin/dropbox:486: PangoWarning: pango_context_set_font_description: assertion `context != NULL' failed
  dialog.show()
/usr/bin/dropbox:486: PangoWarning: pango_context_set_base_dir: assertion `context != NULL' failed
  dialog.show()
/usr/bin/dropbox:486: PangoWarning: pango_context_set_language: assertion `context != NULL' failed
  dialog.show()
/usr/bin/dropbox:486: PangoWarning: pango_layout_new: assertion `context != NULL' failed
  dialog.show()
/usr/bin/dropbox:486: PangoWarning: pango_layout_set_text: assertion `layout != NULL' failed
  dialog.show()
/usr/bin/dropbox:486: PangoWarning: pango_layout_set_attributes: assertion `layout != NULL' failed
  dialog.show()
/usr/bin/dropbox:486: PangoWarning: pango_layout_set_alignment: assertion `layout != NULL' failed
  dialog.show()
/usr/bin/dropbox:486: PangoWarning: pango_layout_set_ellipsize: assertion `PANGO_IS_LAYOUT (layout)' failed
  dialog.show()
/usr/bin/dropbox:486: PangoWarning: pango_layout_set_single_paragraph_mode: assertion `PANGO_IS_LAYOUT (layout)' failed
  dialog.show()
/usr/bin/dropbox:486: PangoWarning: pango_layout_set_width: assertion `layout != NULL' failed
  dialog.show()
/usr/bin/dropbox:486: PangoWarning: pango_layout_get_extents: assertion `layout != NULL' failed
  dialog.show()
/usr/bin/dropbox:486: PangoWarning: pango_layout_set_wrap: assertion `PANGO_IS_LAYOUT (layout)' failed
  dialog.show()
/usr/bin/dropbox:486: GtkWarning: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed
  dialog.show()
/usr/bin/dropbox:486: GtkWarning: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed
  dialog.show()
/usr/bin/dropbox:486: GtkWarning: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed
  dialog.show()
/usr/bin/dropbox:486: GtkWarning: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed
  dialog.show()
Segmentation fault

Эти ошибки говорят о том, что что-то не так с конфигурацией графической среды пользователя.

3
задан 28 July 2012 в 16:12

2 ответа

Используемому клиенту Dropbox требуется доступ к сеансу X, которого нет у вашего пользователя. Существует официальный CLI Dropbox , который может помочь вам, но пробег может отличаться.

0
ответ дан 28 July 2012 в 16:12

Как сказал Брайан Эйджи, dropbox является графической программой, поэтому вам не следует использовать sudo напрямую для запуска его от имени root.

Тем не менее, у вас не должно возникнуть проблем с графическим запуском программ другим пользователем, при условии, что вы делаете это правильно:

gksu -u dropbox dropbox start

Для ясности, это должно работать , где sudo -u ... нет. (Предотвращение создания root -собственных или, в данном случае, dropbox -собственных) файлов конфигурации в вашей домашней директории не единственное отличие между gksu / gksudo и sudo; первый также правильно обрабатывает .Xauthority, что, вероятно, мешает вам «получить доступ к X Display».)

0
ответ дан 28 July 2012 в 16:12

Другие вопросы по тегам:

Похожие вопросы: