我为 gddccontrol 创建了一个桌面图标,但要运行它,我需要从 sudo 执行它。有没有办法从桌面图标运行命令,例如,
sudo -pPASSWORD gddccontrol
Run Code Online (Sandbox Code Playgroud)
所以它不会在终端中询问我的密码?
我只想点击并使用 sudo 权限运行它。
[Desktop Entry]
Type=Application
Name=GDDCControl
Terminal=false
Comment=gddccontrol ddccontrol
Exec=sudo -pPASSWORD gddccontrol
Icon=~/Pictures/10429.png
Run Code Online (Sandbox Code Playgroud)
当我使用以下 Exec 命令从终端运行图标时,它运行良好,但在启动器中不起作用:(
Exec=echo mypasswd | sudo -S gddccontrol
Run Code Online (Sandbox Code Playgroud) 我一直在按照本指南在我的 pi 上设置 VPN。部分步骤是设置和配置动态 dns 服务。我在多个平台上创建了多个帐户。没有 Ip 和 dynamicdns 是两个来命名的。下面是我的 ddclient.conf 文件的输出,它在两个动态 dns 站点上都可以正常连接。
daemon=60 # check every 60 seconds
syslog=yes # log update msgs to syslog
mail=root # mail all msgs to root
mail-failure=root # mail failed update msgs to root
pid=/var/run/ddclient.pid # record PID in file.
ssl=yes # use ssl-support. Works with
# ssl-library
use=web, web=myip.dnsdynamic.com # get ip from server.
server=www.dnsdynamic.org # default server
login=YOURUSERNAME # default login
password=YOURPASSWORD # default password
server=www.dnsdynamic.org, \
protocol=dyndns2 …
Run Code Online (Sandbox Code Playgroud) 我真的很难ddclient
(用我当前的 IP 地址更新OpenDNS)工作。我将它作为守护程序运行,但它从未成功更新我的 IP 地址openDNS
.
为了排除故障,我ddclient
从命令行运行,如下所示。
(在这些示例中,出于安全原因,方括号 [] 中的值是实际值的替代值)
我的/etc/ddclient.conf
包含:
use=web, web=checkip.dyndns.org/, web-skip='IP Address'
server=updates.opendns.com
protocol=dyndns2
login=[my login]
password=[my password]
Home
Run Code Online (Sandbox Code Playgroud)
当我运行时:
sudo ddclient -daemon=0 -debug -verbose -noquiet
Run Code Online (Sandbox Code Playgroud)
我得到:
WARNING: file /var/cache/ddclient/ddclient.cache, line 3: Invalid Value for keyword 'ip' = ''
...
WARNING: skipping update of Home from <nothing> to [my real ip].
WARNING: last updated <never> but last attempt on Tue Oct 4 08:38:32 2011 failed.
Run Code Online (Sandbox Code Playgroud)
如果我rm
缓存文件, …
我在 freedns.afraid.org 上为我的 12.04 服务器使用动态 DNS 服务。我原以为协议会标准化并且 ddclient 会正常工作,但显然不会。我在 /var/log/syslog 中收到此消息:
ERROR: Invalid update URL (2): unexpected status ()
Run Code Online (Sandbox Code Playgroud)
我尝试使用此答案中描述的替代 PPA 中的 ddclient 更新版本,但后来我遇到了此错误:
FATAL: Error loading the Perl module Digest::SHA1 needed for freedns update.
FATAL: On Debian, the package libdigest-sha1-perl must be installed.
Run Code Online (Sandbox Code Playgroud)
当我尝试安装该软件包时,我得到以下信息:
E: Unable to locate package libdigest-sha1-perl
Run Code Online (Sandbox Code Playgroud)
这让我看到了这个错误报告,它显然没有解决方案。如何进行?
ddclient
看起来很强大,但是我能看到的唯一状态消息是它正在运行,通过执行sudo /etc/init.d/ddclient status
.
是否可以检查缓存了当前的 IP?从何时起?距离下一次检查还有多久?主机关联的是什么?
就像 Windows 的无 IP 客户端一样。
我想为 OpenDNS 配置 IP 更新程序。
我不是在问如何在我的/etc/resolv.conf
.
我已经在我的服务器上安装了 ddclient 并且它似乎可以工作。但是,我在系统日志中收到这些警告:
nochg: No update required; unnecessary attempts to change to the current address are considered abusive
Run Code Online (Sandbox Code Playgroud)
显然,即使 IP 地址检查返回与上次相同的地址,ddclient 也会触发更新。如何更改它以使其仅在自上次运行以来地址实际更改时才进行更新?
这是我的/etc/ddclient.conf
,其中一些信息已编辑:
daemon=300
syslog=yes
verbose=yes
protocol=dyndns2
use=web, web=dns.loopia.se/checkip/checkip.php, web-skip='Current IP Address:'
server=dns.loopia.se
ssl=yes
login=<redacted>
password='<redacted>'
<redacted>
Run Code Online (Sandbox Code Playgroud) 以前关于此主题的帖子似乎已过时或无用。在 Pine64 上运行 17.04。
使用 dynu.com 服务运行 ddclient 时,我收到一封包含以下错误的电子邮件(*** 我删除了隐私值):
WARNING: file /var/cache/ddclient/ddclient.cache, line 8: Invalid Value for keyword 'ip' = ''
WARNING: skipping update of ***.DYNU.NET from <nothing> to ***.
WARNING: last updated <never> but last attempt on Tue Jun 20 15:26:07 2017 failed.
WARNING: Wait at least 5 minutes between update attempts.
Run Code Online (Sandbox Code Playgroud)
我的配置文件如下所示:
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
daemon=150
syslog=yes
mail=***
mail-failure=***
pid=/var/run/ddclient.pid
ssl=yes
use=web, web=checkip.dynu.com/, web-skip='IP Address'
server=api.dynu.com
protocol=dyndns2
server=dynu.com
login=*** …
Run Code Online (Sandbox Code Playgroud) 所以我希望能够通过 SSH 访问我的家庭桌面。我在路由器上设置了端口转发,并且能够 ssh 进入我的机器
ssh alex@2601:647:4802:b000:e938:d8b5:6111:e0fb
Run Code Online (Sandbox Code Playgroud)
当我重新启动机器时,IP地址发生变化,所以我想设置动态DNS。我在 google 域上有一个域名,它免费提供动态 DNS。本教程旨在帮助您进行设置。
我按照以下步骤安装 ddclient,并使用文章建议的内容完全覆盖 ddclient.conf:
protocol=dyndns2
use=web
server=domains.google.com
ssl=yes
login=generated_username
password=generated_password
your_resource.your_domain.tld
Run Code Online (Sandbox Code Playgroud)
我用命令测试 ddclient
sudo ddclient -daemon=0 -debug -verbose -noquiet
Run Code Online (Sandbox Code Playgroud)
我得到
SUCCESS: subdomain.mydomain.org: skipped: IP address was already set to 50.184.58.242.
Run Code Online (Sandbox Code Playgroud)
奇怪的是,这是一个 ipv4 地址,而我以为我有一个 ipv6 地址。无论如何。我等了一会儿,还是没效果。我明白了
ssh: connect to host subdomain.mydomain.org port 22: Connection refused
Run Code Online (Sandbox Code Playgroud)
或者它挂起。不知道从这里去哪里。对于这一切是如何运作的,我没有一个特别强烈的心理模型,我只是希望能够
ssh alex@subdomain.mydomain.org
Run Code Online (Sandbox Code Playgroud)
每当我愿意时,并允许每隔一段时间关闭计算机(意味着 IP 地址更改)。
github wiki或sourceforge wiki上没有描述如何执行此操作,只是如何执行此操作
有一个文件
/etc/default/ddclient
# Configuration for ddclient scripts
# generated from debconf on Thu Jul 27 17:32:33 ACST 2017
#
# /etc/default/ddclient
# Set to "true" if ddclient should be run every time DHCP client ('dhclient'
# from package isc-dhcp-client) updates the systems IP address.
run_dhclient="false"
# Set to "true" if ddclient should be run every time a new ppp connection is
# established. This might be useful, if you are using dial-on-demand.
run_ipup="false"
# …
Run Code Online (Sandbox Code Playgroud) 当我在没有 sudo 的情况下运行 ddclient (DynamicDns Updator) 时,我得到
WARNING: file /etc/ddclient.conf: Cannot open file '/etc/ddclient.conf'. (Permission denied)
stat() on closed filehandle FD at /usr/sbin/ddclient line 934.
Use of uninitialized value $mode in bitwise and (&) at /usr/sbin/ddclient line 935.
readline() on closed filehandle FD at /usr/sbin/ddclient line 947.
WARNING: file /etc/ddclient.conf: Cannot open file '/etc/ddclient.conf'. (Permission denied)
stat() on closed filehandle FD at /usr/sbin/ddclient line 934.
Use of uninitialized value $mode in bitwise and (&) at /usr/sbin/ddclient line 935.
readline() on …
Run Code Online (Sandbox Code Playgroud)