为何在终端中使用sudo或gksu启动Vivado可以找到Target,但是桌面不行?

OOo,TeX,KO,ABI,GIMP,Picasa,ProE,QCAD,Inkscape,Kicad,Eagle
回复
hugo_he_huan
帖子: 40
注册时间: 2007-12-01 22:05

为何在终端中使用sudo或gksu启动Vivado可以找到Target,但是桌面不行?

#1

帖子 hugo_he_huan » 2016-09-19 0:48

系统是14.04 LTS AMD64
Vivado是2015.4,官方说可以在14.04上正常使用

从终端中使用sudo或者gksu启动的Vivado都可以正确识别出已连接上的开发板
终端中用gksu启动
终端中用gksu启动
终端中用gksu启动的Vivado可以正确识别到连接上的开发板
终端中用gksu启动的Vivado可以正确识别到连接上的开发板
但是建立个桌面快捷方式,用gksu启动Vivado却是不能识别出来的
带gksu的快捷方式
带gksu的快捷方式
无法识别出开发板
无法识别出开发板

这是为什么呢?
这种情况下如何建立快捷方式呢?
每次输那么大一长串真的很头疼
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 为何在终端中使用sudo或gksu启动Vivado可以找到Target,但是桌面不行?

#2

帖子 poloshiao » 2016-09-19 8:46

从终端中使用sudo或者gksu启动的Vivado
這個問題 顯示 你可能有混淆的地方

1. Ubuntu 預設關閉 root 登入 特別是圖形界面

2. 非 root 登入 需要使用到 root 權限
視 環境 在 指令前面 加 sudo / gksudo / kdesudo
2-1. (適用於 文字界面指令) 在 指令前面 加 sudo
http://manpages.ubuntu.com/manpages/xen ... udo.8.html
2-2. (適用於 gnome 桌面環境 的圖形界面指令) 在 指令前面 加 gksudo
第一次使用 gksudo 需要先安裝 gksu 套件
http://manpages.ubuntu.com/manpages/tru ... ksu.1.html
2-3. (適用於 kde 桌面環境 的圖形界面指令) 在 指令前面 加 kdesudo
第一次使用 kdesudo 需要先安裝 kdesudo 套件
http://packages.ubuntu.com/xenial/amd64 ... o/filelist

3. root 登入 (不建議)
3-1. (適用於 文字界面指令) 不必加 sudo (適用於 文字界面指令)
3-2. (適用於 gnome 桌面環境 的圖形界面指令) 在 指令前面 加 gksu
第一次使用 gksu 需要先安裝 gksu 套件
http://manpages.ubuntu.com/manpages/tru ... ksu.1.html
3-2. (適用於 kde 桌面環境 的圖形界面指令) 在 指令前面 加 kdesu
第一次使用 kdesu 需要先安裝 kde-runtime-data 套件 (可能已預裝)
http://packages.ubuntu.com/xenial/all/k ... a/filelist

4. 另類選擇
4-1. https://en.wikipedia.org/wiki/Polkit
Polkit
4-2. https://wiki.ubuntu.com/DesktopTeam/Spe ... ntegration
PolicyKitIntegration
(已更名為 Polkit)
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 为何在终端中使用sudo或gksu启动Vivado可以找到Target,但是桌面不行?

#3

帖子 vickycq » 2016-09-19 9:30

参考 https://wiki.archlinux.org/index.php/Xi ... g_programs 建立快捷方式
若需使用 root 权限,将 Exec= 一行改为

代码: 全选

Exec=sudo bash -c "unset LANG && unset QT_PLUGIN_PATH && source /opt/Xilinx/Vivado/2015.4/settings64.sh && vivado"
hugo_he_huan 写了:从终端中使用sudo或者gksu启动的Vivado
为何要使用 sudo 或者 gksu 启动 vivado?
参考 http://www.xilinx.com/support/answers/62240.html
Root permission is only required in order to install cable drivers.
In Vivado 2015.1 the cable driver installation has been removed from the main Vivado installation and it is recommended that Vivado 2015.1 and later not be installed as root.
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
hugo_he_huan
帖子: 40
注册时间: 2007-12-01 22:05

Re: 为何在终端中使用sudo或gksu启动Vivado可以找到Target,但是桌面不行?

#4

帖子 hugo_he_huan » 2016-09-21 1:41

非常感谢您的回复,使用gksudo之后问题解决~
poloshiao 写了:
从终端中使用sudo或者gksu启动的Vivado
這個問題 顯示 你可能有混淆的地方

1. Ubuntu 預設關閉 root 登入 特別是圖形界面

2. 非 root 登入 需要使用到 root 權限
視 環境 在 指令前面 加 sudo / gksudo / kdesudo
2-1. (適用於 文字界面指令) 在 指令前面 加 sudo
http://manpages.ubuntu.com/manpages/xen ... udo.8.html
2-2. (適用於 gnome 桌面環境 的圖形界面指令) 在 指令前面 加 gksudo
第一次使用 gksudo 需要先安裝 gksu 套件
http://manpages.ubuntu.com/manpages/tru ... ksu.1.html
2-3. (適用於 kde 桌面環境 的圖形界面指令) 在 指令前面 加 kdesudo
第一次使用 kdesudo 需要先安裝 kdesudo 套件
http://packages.ubuntu.com/xenial/amd64 ... o/filelist

3. root 登入 (不建議)
3-1. (適用於 文字界面指令) 不必加 sudo (適用於 文字界面指令)
3-2. (適用於 gnome 桌面環境 的圖形界面指令) 在 指令前面 加 gksu
第一次使用 gksu 需要先安裝 gksu 套件
http://manpages.ubuntu.com/manpages/tru ... ksu.1.html
3-2. (適用於 kde 桌面環境 的圖形界面指令) 在 指令前面 加 kdesu
第一次使用 kdesu 需要先安裝 kde-runtime-data 套件 (可能已預裝)
http://packages.ubuntu.com/xenial/all/k ... a/filelist

4. 另類選擇
4-1. https://en.wikipedia.org/wiki/Polkit
Polkit
4-2. https://wiki.ubuntu.com/DesktopTeam/Spe ... ntegration
PolicyKitIntegration
(已更名為 Polkit)
hugo_he_huan
帖子: 40
注册时间: 2007-12-01 22:05

Re: 为何在终端中使用sudo或gksu启动Vivado可以找到Target,但是桌面不行?

#5

帖子 hugo_he_huan » 2016-09-21 1:55

谢谢~
因为想在SDK中直接调用串口,所以需要用一下root权限……
不知道为啥目前好像Linux对串口的权限需求还是挺高的……
vickycq 写了:参考 https://wiki.archlinux.org/index.php/Xi ... g_programs 建立快捷方式
若需使用 root 权限,将 Exec= 一行改为

代码: 全选

Exec=sudo bash -c "unset LANG && unset QT_PLUGIN_PATH && source /opt/Xilinx/Vivado/2015.4/settings64.sh && vivado"
hugo_he_huan 写了:从终端中使用sudo或者gksu启动的Vivado
为何要使用 sudo 或者 gksu 启动 vivado?
参考 http://www.xilinx.com/support/answers/62240.html
Root permission is only required in order to install cable drivers.
In Vivado 2015.1 the cable driver installation has been removed from the main Vivado installation and it is recommended that Vivado 2015.1 and later not be installed as root.
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: 为何在终端中使用sudo或gksu启动Vivado可以找到Target,但是桌面不行?

#6

帖子 vickycq » 2016-09-21 7:56

hugo_he_huan 写了:因为想在SDK中直接调用串口,所以需要用一下root权限……
不知道为啥目前好像Linux对串口的权限需求还是挺高的……
一般只需加入某个组即可。
例 假设权限为
crw-rw---- 1 root dialout 4, 64 Aug 16 12:55 /dev/ttyS0
令普通用户加入 dialout 组即可读写串口。再不济还可以修改串口权限。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
hugo_he_huan
帖子: 40
注册时间: 2007-12-01 22:05

Re: 为何在终端中使用sudo或gksu启动Vivado可以找到Target,但是桌面不行?

#7

帖子 hugo_he_huan » 2016-09-22 2:08

soga
还可以这样
谢谢您
vickycq 写了:
hugo_he_huan 写了:因为想在SDK中直接调用串口,所以需要用一下root权限……
不知道为啥目前好像Linux对串口的权限需求还是挺高的……
一般只需加入某个组即可。
例 假设权限为
crw-rw---- 1 root dialout 4, 64 Aug 16 12:55 /dev/ttyS0
令普通用户加入 dialout 组即可读写串口。再不济还可以修改串口权限。
回复