这里是一个新用户,正在运行 ubuntu 版本 21.10 impish。
我正在按照 github 页面上的说明安装 youtube-dl ( https://github.com/ytdl-org/youtube-dl#installation ):
$ sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
$ sudo chmod a+rx /usr/local/bin/youtube-dl
Run Code Online (Sandbox Code Playgroud)
命令下载 python 脚本后,多个应用程序完全停止运行,就好像它们已被 youtube-dl 取代一样 [更新 3:应用程序本身没有被替换,只是它们的链接和快捷方式]。受影响的一些软件是 Ubuntu 的默认应用程序,例如默认文本编辑器 (gedit) 和 gnome-calculator,而其他软件则是手动安装的,例如 qbittorrent 和 steam。
有些东西,如 Firefox、Nano 和 lutris 仍然可以工作。
例如,尝试从终端运行文本编辑器会产生以下输出:
$ gedit
Usage: gedit [OPTIONS] URL [URL...]
gedit: error: You must provide at least one URL.
Type youtube-dl --help to see a list of all options.
Run Code Online (Sandbox Code Playgroud)
所有受影响的应用程序都会出现相同的错误:
$ gnome-calculator
Usage: gnome-calculator [OPTIONS] URL [URL...]
gnome-calculator: …Run Code Online (Sandbox Code Playgroud) 我只是在听讲座,在那里我注意到讲师使用命令(可能是别名)跳转到特定文件夹。
例子:
~/code$ j sciproj
~/projects/sciproj2011/$
Run Code Online (Sandbox Code Playgroud)
这看起来很光滑,所以我开始想:
这是标准实用程序吗?如果是,名称是什么?
关于它是如何工作的,我有两种理论:
它可以以示例的样式直接从命令行创建、删除和跳转到别名,而无需在配置文件或脚本或其他内容中手动设置别名。
它在主目录中搜索与名称匹配的文件夹并跳转到该文件夹。
然而,第二个选项似乎有点慢,所以第一个将是首选。
保存我想在项目中使用的库的 jar 文件的最佳位置是什么,这些文件不在任何存储库中,我应该如何设置权限?
我应该将它们放在 /usr/share/java 中,还是将它们存储在我的主文件夹中的某个位置更好?
什么是最有用的访问权限?遵循 /usr/share/java 中的约定,将包名与特定版本的 jar 进行符号链接,并遵循那里使用的权限是否有意义?
我正在打包一个应用程序,其中包含通常会进入的二进制文件/usr/bin和一个可以进入的共享库/usr/lib。
但是,向软件中心提交应用程序的包指南建议二进制文件应该进入/opt.
将这些文件放入/opt并确保它们在$PATH.
为了澄清起见,我所指的页面在这里:http : //developer.ubuntu.com/publish/my-apps-packages/,它指出:
“能够安装到/opt/....”
packaging paths binary application-development application-submission
我的问题与另一个悬而未决的问题有关。我的 echo $PATH 给了我一个输出,就像
/home/sahil/.rvm/gems/ruby-1.9.3-p125/bin:/home/sahil/.rvm/gems/ruby-1.9.3-p125@global/bin:/home/sahil/.rvm/rubies/ruby-1.9.3-p125/bin:/home/sahil/.rvm/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/home/sahil/.rvm/bin{}:/home/android-sdks/{}:/home/android-sdks/platform-tools/{}:/home/android-sdks/tools/{}:/home/sahil/android-sdks/tools{}:/home/sahil/android-sdks/tools:/home/sahil/android-sdks/platform-tools/
Run Code Online (Sandbox Code Playgroud)
但是跑步
ifconfig
Run Code Online (Sandbox Code Playgroud)
给我一个输出
Command 'ifconfig' is available in '/sbin/ifconfig'
The command could not be located because '/sbin' is not included in the PATH environment variable.
This is most likely caused by the lack of administrative privileges associated with your user account.
ifconfig: command not found
Run Code Online (Sandbox Code Playgroud)
在运行其他问题中给出的命令后
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
Run Code Online (Sandbox Code Playgroud)
它运行ifconfig但阻止 ruby rails 或 rvm 的其他命令。
寻求帮助如何解决这个问题。还有为什么会这样?
我正在尝试将一些导出脚本放入 Blender,但我根本找不到安装路径!
我正在使用最新版本的 Ubuntu 和 Blender,我已经安装了apt-get install.
使用 $FOO 语法在 /etc/environment 中有“指针”是否有效?现在我的 /etc/environment 看起来像这样:
JAVA_HOME=/usr/lib/jvm/java-6-openjdk
MAVEN_HOME=/usr/bin/apache-maven/apache-maven-3.0.4
M2_HOME=$MAVEN_HOME
M2=$MAVEN_HOME/bin
PATH=/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:$JAVA_HOME/bin:$MAVEN_HOME/bin
Run Code Online (Sandbox Code Playgroud)
我没有得到我期望的结果:
~$ echo $JAVA_HOME
/usr/lib/jvm/java-6-openjdk
~$ echo $MAVEN_HOME
/usr/bin/apache-maven/apache-maven-3.0.4
~$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin/bin:/usr/games:$JAVA_HOME/bin:$MAVEN_HOME/bin
Run Code Online (Sandbox Code Playgroud) 我需要打印目录及其子目录中存在的所有文件的“完整”相对路径列表。我曾经用 du 和 grep 这样做:
du -a <path_to_directory> | grep -Po '[0-9]+\t\/\K.*'
Run Code Online (Sandbox Code Playgroud)
但是如果路径太长,du 会用点替换部分路径。
哪个是好的选择?
解析 ls 不是一个选项。
我正在将 Docker 与 Ubuntu 16.04 的图像一起使用。我正在使用这个 docker 来运行:
在 docker 中安装 MCR 之前,我已经使用以下命令安装了 boost:
$ sudo apt-get install -y libboost-all-dev
Run Code Online (Sandbox Code Playgroud)
我能够包装 C++ 类并在 python 中调用它们。然后我安装了 MCR,其中一项要求是设置LD_LIBRARY_PATH为 Matlab 的库。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/MATLAB/MATLAB_Runtime/v94/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v94/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v94/sys/os/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v94/extern/bin/glnxa64
Run Code Online (Sandbox Code Playgroud)
它起作用了,我能够在 python 中运行 matlab 的 python 包,但是由于LD_LIBRARY_PATH. 例如,当我尝试在 python 中导入 C++ 类时出现以下错误:
/usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0: undefined symbol: XML_SetHashSalt
Run Code Online (Sandbox Code Playgroud)
如果我取消设置LD_LIBRARY_PATHC++ 导入工作但 MCR 失败。那么问题LD_LIBRARY_PATH应该是什么才能成功运行 C++ 类和 Matlab 的 …
我下载了 eclipse 并将其解压缩到/opt.
我的问题是如何让它像 javac、java.js 这样的其他程序一样从终端运行。我做了update-alternatives如下:
sudo update-alternatives --install "/usr/bin/eclipse" "eclipse" "/opt/eclipse/eclipse" 1
Run Code Online (Sandbox Code Playgroud)
我没有收到任何错误。我穿过并看到/usr/bin/eclipse在那里,所以我做了:
sudo eclipse
Run Code Online (Sandbox Code Playgroud)
我得到了:
sudo: eclipse: command not found
Run Code Online (Sandbox Code Playgroud)
eclipse并且我的日食会启动?update-alternatives用于正确的目的?paths ×10
command-line ×4
apt ×1
binary ×1
blender ×1
boost ×1
chmod ×1
curl ×1
directory ×1
downloads ×1
eclipse ×1
etc ×1
files ×1
ifconfig ×1
installation ×1
java ×1
matlab ×1
packaging ×1
permissions ×1
youtube-dl ×1