Nova configuração do usuário

3

Eu quero deixar meu diretório do Dropbox protegido contra alterações inconscientes. Então eu fiz para o meu diretório e arquivos dentro das seguintes ações:

chown -R dropbox:dropbox Dropbox

A ideia é que eu trabalhe com um usuário comum, vamos chamar de USER. E eu começo o dropbox como usuário dropbox:

sudo -u dropbox dropbox start

Mas há um erro e não sei como lidar com isso:

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

Como posso criar um novo usuário adequadamente, de maneira a atingir essa meta? Atualmente, os únicos arquivos de configuração no diretório /home/dropbox são do diretório /etc/skel/ .

ATUALIZAÇÃO À sugestão de Eliah Kagan:

Não consigo iniciar o dropbox com o gksu. Quando estou tentando fazer isso, obtenho o seguinte:

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

Em usuário dropbox:

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

Esses erros dizem que algo está errado com a configuração do ambiente gráfico do usuário.

    
por user14416 26.07.2012 / 16:26

2 respostas

1

O cliente do Dropbox que você está usando requer acesso a uma sessão X, que seu usuário não possui. Existe um CLI oficial do Dropbox que pode fazer o truque para você, mas a milhagem pode variar.

    
por Bryan Agee 26.07.2012 / 20:51
0

Como Bryan Agee disse, dropbox é um programa gráfico, então você não deve usar sudo diretamente para executá-lo como root.

No entanto, você não deve ter problemas para executar programas graficamente como outro usuário, desde que faça corretamente:

gksu -u dropbox dropbox start

Para ficar claro, isso deve funcionar , onde sudo -u ... não funciona. (Evitar a criação de root -owned - ou neste caso, dropbox -owned - arquivos de configuração no seu diretório inicial não é a única diferença entre gksu / gksudo e sudo ; o primeiro também manipula .Xauthority corretamente, o que provavelmente está impedindo você de "acessar [o] Monitor X".)

    
por Eliah Kagan 27.07.2012 / 08:53