在Ubuntu 16.04系统中,将Logitech G920方向盘连接到Carla服务器

注:

  1. 电脑是win10 + Ubuntu 16.04双系统
  2. 我们用Logitech g29方向盘的程序来模拟G920方向盘,所以接下来运行出现g29等字样,是没有问题的

1、jstest-gtk

1)描述:

jstest-gtk是一个基于Gtk +的简单操纵杆测试和配置工具。它为您提供了一个附加的操纵杆列表,一种显示按下按钮和轴的方法,一种重新映射轴和按钮的方法以及一种校准操纵杆的方法。即使你的操纵杆工作得很好,你也可以尝试一下,因为校准可以让你摆脱许多操纵杆使用的超大默认死区,这在一些游戏中是一个明显的问题。

2)用法:

jstest-gtk主要是一个图形界面,用于检查你的操纵杆和打击垫是否工作正常。您可以在每个轴上找到精确信息,您可以选择重新校准它并且可以改变映射。

如果你运行没有参数的程序,你会得到一个显示所有操纵杆的窗口系统中的设备(可以有多个)。当你双击其中一个,您将获得一个更新的窗口,其中包含有关其轴和按钮的详细信息。详细窗口中有两个按钮,称为“映射”和“校准”,即允许您重新指定设备。

如果您以设备作为参数运行程序(例如/ dev / input / js0),您将直接获取该设备的详细窗口,而无需获取整个列表系统中的操纵杆。

轴的校准包含在一个简单的窗口中,您可以在其中设置值直接进入操作系统配置,而不对它们进行任何更改。它们分为范围和死区(或中心)。在他们两个中你必须设置一个最小和最大。您还有一个用于反转轴的复选框。

在您修改它们的同一瞬间更改和应用值,没有必要用于单击任何位置或执行任何其他操作以应用更改。

3)安装:

在终端输入:

$ sudo apt-get update

$ sudo apt-get install jstest-gtk

 

2、问题描述与解决:

注:若是没有遇到此类问题,或是jstest-gtk可以直接识别方向盘,可以忽略此条内容

1)描述:

在Ubuntu 16.04系统中,接入G920方向盘之后,打开jstest-gtk,结果显示不出来方向盘的信息。Joystick Preferences是jstest-gtk的显示面板,这时面板什么都没显示,说明出问题了。

图一

2)猜想:

AUbuntu系统是否支持Logitech G920 方向盘呢?

做法1在终端输入lsusb,列出接入电脑端口的所有硬件设备,输出的信息有一行是:

ID 046D:c261 Logitech,Inc

这说明G920方向盘是接入到电脑端口了。

做法2在终端输入dmesg(Linux的dmesg命令,显示Linux内核的环形缓冲区信息,可以从中获取诸如系统架构,CPU,挂载的硬件,RAM等多个运行级别的大量的系统信息。笼统地说,显示Linux系统设备启动项。)

对于Logitech G920的显示信息如下:

[  784.855156] usb 1-2: new full-speed USB device number 5 using xhci_hcd

[  785.004781] usb 1-2: New USB device found

<think>好的,用户想要在Ubuntu 16.04上配置NAT46的实例或教程。首先,我需要回忆一下NAT46的基本概念。NAT46是一种网络地址转换技术,允许IPv6网络与IPv4网络之间的通信。通常需要用到特定的工具或配置来实现。 接下来,用户提到的系统Ubuntu 16.04,这个版本可能已经比较旧,所以需要注意软件包的可用性。可能涉及到的工具有Jool,这是一个支持NAT64的开源项目,不过NAT46可能需要不同的配置或者额外设置。 然后,我需要查看用户提供的引用内容。引用[1]提到了配置L3代理和Linuxbridge驱动,可能与网络路由有关。引用[2]是关于Ubuntu 16.04上使用iptables配置防火墙,特别是开放SSH端口。引用[3]提到虚拟机内存分配,可能用户是在虚拟机环境中操作,需要注意资源分配是否足够。 首先,安装必要的软件包。Jool可能是候选之一,但需要确认是否支持NAT46。或者使用iptables配置NAT规则,但需要IPv6到IPv4的转换支持。此外,可能需要启用内核模块,如nf_conntrack和nf_nat。 接下来,配置网络接口。确保有IPv6和IPv4的网络接口,比如eth0和eth1,或者使用虚拟接口。然后,设置iptables规则,将来自IPv6的流量转发到IPv4网络。可能需要配置路由和转发规则,同时处理目标地址的转换。 另外,用户可能需要配置持久化的iptables规则,因为重启后规则会丢失。安装iptables-persistent包,并保存规则。同时,确保系统的IP转发功能已启用,修改sysctl.conf中的net.ipv4.ip_forward和net.ipv6.conf.all.forwarding参数。 还要注意防火墙设置,引用[2]中提到开放SSH端口,可能用户需要确保NAT46的相关端口没有被防火墙阻挡。可能需要类似的处理,允许特定的流量通过。 最后,测试配置是否生效,使用ping6或者curl等工具测试IPv6到IPv4的连通性。如果存在问题,检查日志或使用tcpdump进行流量分析。 可能遇到的问题包括内核模块未加载、iptables规则配置错误、网络接口名称不匹配等。需要逐步排查,确保每一步都正确执行。 总结步骤:安装必要工具,配置内核参数,设置网络接口和iptables规则,保存配置,测试并调试。</think>在Ubuntu 16.04系统中配置NAT46需要结合IPv6到IPv4的地址转换技术,以下是具体步骤: ### 1. 安装必要工具 ```bash sudo apt-get update sudo apt-get install iptables-persistent netfilter-persistent ``` ### 2. 启用内核转发 编辑`/etc/sysctl.conf`,添加以下参数: ```bash net.ipv4.ip_forward=1 net.ipv6.conf.all.forwarding=1 ``` 执行`sudo sysctl -p`生效[^1][^2]。 ### 3. 配置NAT46规则 假设IPv6子网为`2001:db8::/96`,IPv4目标为`192.0.2.0/24`: ```bash # 添加IPv6到IPv4的SNAT规则 sudo ip6tables -t nat -A POSTROUTING -s 2001:db8::/96 -j SNAT --to-source 192.0.2.1 # 添加IPv6到IPv4的DNAT规则 sudo ip6tables -t nat -A PREROUTING -d 2001:db8::/96 -j DNAT --to-destination 192.0.2.1 ``` ### 4. 保存规则 ```bash sudo netfilter-persistent save sudo systemctl restart netfilter-persistent ``` ### 5. 验证配置 测试IPv6到IPv4的连通性: ```bash ping6 -I eth0 2001:db8::1 # 替换为实际接口和地址 ``` ### 配置文件示例 创建自定义规则文件`/etc/iptables/rules.v6`: ```bash *nat :PREROUTING ACCEPT [0:0] -A PREROUTING -d 2001:db8::/96 -j DNAT --to-destination 192.0.2.1 COMMIT ```
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值