标签: windows-subsystem-for-linux

无法从 Visual Studio 启动 gdb 以在 Windows 上的 Linux 子系统中远程调试 Linux C++ 项目

我正在尝试从 Visual Studio 针对 Linux 的 Windows 子系统。该项目在 Visual Studio 中构建良好:

1>------ Rebuild All started: Project: LinuxConsoleApp, Configuration: Debug x64 ------
1>Cleaning remote project directory
1>Validating architecture
1>Validating sources
1>Copying sources remotely to 'localhost'
1>Starting remote build
1>Compiling sources:
1>main.cpp
1>Linking objects
1>LinuxConsoleApp.vcxproj -> C:\...\LinuxConsoleApp\bin\x64\Debug\LinuxConsoleApp.out
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)

我可以从 Windows 上的 bash 命令行提示符运行它:

linux@windows-bash:/mnt/c/.../LinuxConsoleApp/bin/x64/Debug$ ./LinuxConsoleApp.out
hello from LinuxConsoleApp!
Run Code Online (Sandbox Code Playgroud)

但是,当我设置断点以从 Visual Studio 调试它时,出现错误:

“无法启动 gdb。您的系统中缺少 gdb,需要安装,请使用您系统的包管理器进行安装”

我确实在 Windows 的 Linux 子系统上安装了 gdbserver。有谁知道我还需要什么才能使它工作?提前致谢!

visual-studio gdbserver windows-subsystem-for-linux

0
推荐指数
1
解决办法
3650
查看次数

php7.2-fpm 超时 nginx wsl 18.04

我最近从 Ubuntu wsl 16.04 升级到 18.04。

完成后,我恢复了本地开发,很高兴发现(几乎)一切正常。

由于某种原因,我现在在 php-fpm 中遇到此错误

2018/09/19 21:17:26 [error] 3736#3736: *1 upstream timed out (110: Connection timed out) while reading upstream, client: ::1, server: _, request: "GET /register HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost"

以下是我的 /etc/nginx/sites-available/default 文件的相关内容。

    location ~ \.php$ {
            include snippets/fastcgi-php.conf;

            # With php7.0-cgi alone:
            fastcgi_pass 127.0.0.1:9000;
            # With php7.0-fpm:
            #fastcgi_pass unix:/run/php/php7.2-fpm.sock;
            fastcgi_read_timeout 300;
    }
Run Code Online (Sandbox Code Playgroud)

以及 /etc/php/7.2/fpm/pool.d/www.conf 中的相关行

listen = 127.0.0.1:9000

我也尝试取消注释 listen.allowed_clients = 127.0.0.1 但仍然相同。

我这里一定缺少什么东西。www.conf 文件在升级过程中被重置为默认值,其中必须有某些内容。任何帮助是极大的赞赏。

ubuntu fastcgi nginx windows-subsystem-for-linux ubuntu-18.04

0
推荐指数
1
解决办法
3746
查看次数

在 Windows Insider 版本上使用 aws-azure-login 容器

我一直在设置我的笔记本电脑以使用 WSL2 作为公司其他人的模型。我在创建良好的开发环境方面取得了很大进展。

\n\n
    \n
  • 我连接到 Windows Insider 程序:Version 2004 (OS Build 19035.1)
  • \n
  • 我安装了 Ubuntu 18.04 WSL 并将其升级到 WSL 2
  • \n
  • 我安装了Docker的边缘版本2.1.6.1
  • \n
\n\n

所有这些都运行良好。现在我想连接到我的公司 AWS 帐户,该帐户通过 Microsoft AD 进行身份验证。所以我下载了 aws-azure-login 容器并运行

\n\n

docker run --rm -it -v \\~/.aws:/root/.aws sportradar/aws-azure-login --configure

\n\n

...运行得非常好。

\n\n

但当我真正跑步的时候

\n\n

docker run --rm -it -v \\~/.aws:/root/.aws sportradar/aws-azure-login --configure

\n\n

...我收到此错误:

\n\n
\xe2\x9d\xaf docker run --rm -it -v \\~/.aws:/root/.aws sportradar/aws-azure-login Logging in with profile 'default'... \nUsing AWS SAML endpoint u/ ? Username: …
Run Code Online (Sandbox Code Playgroud)

active-directory amazon-web-services windows-10 windows-subsystem-for-linux

0
推荐指数
1
解决办法
3441
查看次数

在 Ubuntu 18.04 LTS WSL 中更改目录

在“Windows 10”中,您可以从“Microsoft Store”安装“Ubuntu 18.01 LTS”应用程序并运行它,CMD以便您可以使用bash. 由于这不是本机“Windows 10”功能,我如何在此设置中My computer使用导航bash

ubuntu windows-subsystem-for-linux

0
推荐指数
1
解决办法
6596
查看次数

WSL2上的深度桌面环境

我知道问这个问题很早,但有没有人有幸在 WSL2 上运行最新的深度桌面环境(DDE),就像您可以通过 X-server(如 Xming 或 VcXsrv)运行 xfce4 一样?

windows-subsystem-for-linux

0
推荐指数
1
解决办法
873
查看次数

Artemis:无法创建经纪人:功能未实现

我曾经在 Windows、Linux 和 WSL 上的 Artemis 中创建代理。从来没有出现过问题。除了我的一台装有 Windows 并运行 WSL2 的计算机。

我在安装 artemis 时做了同样的事情:

sudo groupadd artemis
sudo useradd -s /bin/false -g artemis -d /opt/artemis artemis
cd /opt
sudo wget https://archive.apache.org/dist/activemq/activemq-artemis/2.12.0/apache-artemis-2.12.0-bin.tar.gz
sudo tar -xvzf apache-artemis-2.12.0-bin.tar.gz
sudo mv apache-artemis-2.12.0 artemis
sudo chown -R artemis: artemis
sudo chmod o+x /opt/artemis/bin/
sudo rm apache-artemis-2.12.0-bin.tar.gz
Run Code Online (Sandbox Code Playgroud)

它安装了,但是当我尝试创建自己的代理实例时:

/opt/artemis/bin/artemis create --user app --password pwd --allow-anonymous test
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

Cannot initialize queue:Function not implemented
Run Code Online (Sandbox Code Playgroud)

我已经尝试了好几次,甚至卸载了artemis并删除了用户和组并重新启动了整个过程,但结果总是相同的。

我不知道有什么区别或如何解决问题。任何帮助将不胜感激!

更新 1:没有太多日志,但打开详细模式会给出以下几行:

Executing org.apache.activemq.artemis.cli.commands.Create create --verbose --user app --password pwd --allow-anonymous test …
Run Code Online (Sandbox Code Playgroud)

activemq-artemis windows-subsystem-for-linux

0
推荐指数
1
解决办法
1335
查看次数

错误:模块“平台”没有属性“linux_distribution”

执行程序时出现以下错误。
它是一个解析上传文件的程序。
当用户尝试上传文档时出现错误

Error: module 'platform' has no attribute 'linux_distribution'
Path: tmp/resume_2020-08-28_10-09-05/Document.pdf
Traceback (most recent call last):
  File "/home/adiagarwal/Python-3.8.0/resume_parser_env/lib/python3.8/site-packages/wand/api.py", line 143, in <module>
    libraries = load_library()
  File "/home/adiagarwal/Python-3.8.0/resume_parser_env/lib/python3.8/site-packages/wand/api.py", line 132, in load_library
    raise IOError('cannot find library; tried paths: ' + repr(tried_paths))
OSError: cannot find library; tried paths: []

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/adiagarwal/projects/BackEnd/admin_api.py", line 198, in post
    im = page.to_image()
  File "/home/adiagarwal/Python-3.8.0/resume_parser_env/lib/python3.8/site-packages/pdfplumber/page.py", line 255, in to_image
    from .display import …
Run Code Online (Sandbox Code Playgroud)

ubuntu tornado neo4j windows-subsystem-for-linux python-3.8

0
推荐指数
1
解决办法
4691
查看次数

在 Linux (Ubuntu WSL) 上通过 CLISP 运行 LISP 代码

我是 LISP 的新手,想知道如何在 Ubuntu Linux 上正确运行一个简单的 lisp 程序。目前,我有一个名为“intmax.lisp”的 LISP 文件,其中包含以下代码:

(defun intmax (x y) (if (> x y) x y))

但是,当我转到命令行并运行时:

clisp intmax 2 4

为了比较 2 和 4,我没有得到任何输出。关于我做错了什么的任何建议?

lisp linux clisp common-lisp windows-subsystem-for-linux

0
推荐指数
1
解决办法
130
查看次数

为什么数组上的 std::binary_search 在 cmd 和 linux 终端中给出不同的结果?

我试图解决一个codeforces 问题,这要求我使用以下公式找到多边形的内角:

((n-2)*180)/n

; 其中“n”是多边形边数。我取了一个大小为 5 的数组来存储三角形(n=3)和正方形(n=4)的角度。编写以下代码以在数组上搜索角度(60 度):

#include<iostream>
#include<algorithm>

using namespace std;

int main(){
    int arr [5];
    
    for(int n=3; n<5; n++){
            arr[n] = ((n-2)*180)/n;
            cout << "arr["<<n<<"] = "<< arr[n];
            cout<<endl;
    }

    if(binary_search(arr, arr+5,60)){
               cout << "YES"<<"\n";
    }
    else{
               cout<< "NO"<<"\n";
    }   
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在命令提示符(cmd)上编译并运行它后,我得到了以下意想不到的结果:

arr[3] = 60 
arr[4] = 90
NO
Run Code Online (Sandbox Code Playgroud)

后来我在 Windows Subsystem for Linux 上尝试了相同的代码,并得到了以下正确的输出:

arr[3] = 60 
arr[4] = 90
YES
Run Code Online (Sandbox Code Playgroud)

为什么数组中 60 的 std::binary_search() 函数在 cmd 上返回 false?即使它存储在索引 3。为什么它在 linux 终端上工作? …

c++ arrays stl g++ windows-subsystem-for-linux

0
推荐指数
1
解决办法
62
查看次数

docker-desktop、docker-desktop-data 和我的 WSL 发行版 Ubuntu 之间有什么区别?

命令wsl --list --verbose在我的 Windows 计算机上返回以下列表:

$ wsl --list --verbose
  NAME                   STATE           VERSION
* docker-desktop-data    Running         2
  Ubuntu                 Running         2
  docker-desktop         Running         2
Run Code Online (Sandbox Code Playgroud)

我已经在我的机器上安装了 Docker Desktop。docker-desktopdocker-desktop-data我的 WSL 发行版有什么区别Ubuntu?不应Ubuntu选择作为我的 WSL 发行版?

PS 如果我从列表中选择另一个条目,wsl --setdefault <name-of-distro>我不会注意到重大变化。这让我更加困惑!

ubuntu windows-subsystem-for-linux docker-desktop

0
推荐指数
1
解决办法
1488
查看次数