Ошибка Reprex в Linux: не предоставлен ввод и буфер обмена недоступен

#r #linux #reprex

#r #linux #reprex

Вопрос:

Невозможно сгенерировать reprex в Linux. Когда я попробую простой пример

   (y <- 1:4)
  mean(y)
  

Я получаю следующее сообщение

 No input provided and clipboard is not available.
Rendering reprex...
Clipboard on X11 requires 'xclip' (recommended) or 'xsel'.
Unable to put result on the clipboard. How to get it:
* Capture what `reprex()` returns.
* Consult the output file. Control via `outfile` argument.
Path to `outfile`:
    * /tmp/RtmpRYA93G/reprex16f2e48b49ed7/reprex_reprex.md
Open the output file for manual copy?
1: yes
2: no
  

и следующий вывод в моем средстве просмотра

  No user-supplied code found … so we’ve made some up. You’re welcome!

 sprintf("Happy %s!", weekdays(Sys.Date()))
 #> [1] "Happy Friday!"
 Created on 2020-10-16 by the reprex package (v0.3.0.9001)
  

Это проблема с буфером обмена в Linux?
Спасибо за помощь.

Комментарии:

1. Из документов рекомендуется иметь xclip или xsel устанавливать в Linux для доступа к буферу обмена. Вы их установили? Вы скопировали код в буфер обмена перед запуском reprex() (именно оттуда, как предполагается, поступает ввод). Вы также не можете использовать свой буфер обмена. Например reprex::reprex({(y <- 1:4); mean(y)})

2. reprex::reprex({(y <- 1:4); mean(y)}) работает. На данном этапе у меня нет доступа sudo для установки xclip или xsel , но я попробую это снова, когда установлю эти пакеты. Спасибо, MrFlick

Ответ №1:

Буфер обмена обычно недоступен в Linux, и пользователи должны установить xclip его, если они хотят запустить reprex . Альтернативой является отказ от использования буфера обмена, как предложено в комментарии MrFlick

 reprex::reprex({(y <- 1:4); mean(y)})