Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dialog is sometimes ugly #2025

Closed
MCGallaspy opened this issue Dec 26, 2015 · 13 comments
Closed

Dialog is sometimes ugly #2025

MCGallaspy opened this issue Dec 26, 2015 · 13 comments
Milestone

Comments

@MCGallaspy
Copy link

I ran the command ./letsencrypt-auto certonly -d foo.com --test-cert on Ubuntu 14.04.3 and saw the following weird prompt:

ss3

The borders are misaligned/missing, and use unexpected characters.

@pde
Copy link
Member

pde commented Dec 26, 2015

dialog seems to produce messed up output on some terminals. We haven't been able to work out why, or what to do about it.

@pde pde changed the title Enter email address prompt is ugly Dialog is sometimes ugly Dec 26, 2015
@MCGallaspy
Copy link
Author

I did a cursory poking around, seems like it might be a bug in zope.component? I'll take a closer look as time permits.

@pde
Copy link
Member

pde commented Dec 27, 2015

That would be surprising. There's a zope.interface wrapper around all the dialog calls (in order to support the --text command line argument, for instance) but I'd be surprised if zope.component was modifying the calls out to the python dialog module.

@pde
Copy link
Member

pde commented Dec 27, 2015

That interface is documented here. The dialog / ncurses implementation is here

@jpluimers
Copy link
Contributor

There is a similar yast issue on opensuse (https://wiert.me/2016/06/09/tumbleweed-local-console-yast-linedrawing-characters-garbage-after-first-reboot/) for which the workaround is to run /bin/unicode_start once by any user.

@bmw
Copy link
Member

bmw commented Nov 5, 2016

Due to problems like this (as well as other motivating factors), we've completely removed dialog as a dependency of this project in favor of our text interface for our next release. With this in mind, I'm closing this issue.

@bmw bmw closed this as completed Nov 5, 2016
@bmw bmw added this to the 0.10.0 milestone Nov 5, 2016
@jpluimers
Copy link
Contributor

Please post a reference to that new text interface in case other people need to find it after upgrading.

@pde
Copy link
Member

pde commented Nov 23, 2016

@jpluimers not clear what you're asking for there, but essentially Certbot 0.10.0 is going to behave a lot like certbot -t did for version 0.9.3 and below.

@pde pde removed the has pr label Dec 8, 2016
@jpluimers
Copy link
Contributor

Ah. I never noticed there is certbot -t as it's not in the certbot --help list.

I actually like the certbot -t UI. Maybe that is because I'm from the Infocom era (:

@pde
Copy link
Member

pde commented Dec 19, 2016

I'm pretty sure -t was in the help output for 0.9.3 and below.

@jpluimers
Copy link
Contributor

I just discovered I was still at the master branch on commit da3332c which displays itself as 0.9.3 but already has that part from the help removed.

I'm not enough of a git and github person to show that in a commit graph.

I just now did a , but since then I've done git fetch and git pull and it's the same: it shows version letsencrypt 0.9.3 but doesn't show the -t portion of the help:

# git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
# git rev-parse HEAD
da3332ccfaad08bd9dece68f5ae71308acb1d776
# ./certbot-auto --version
letsencrypt 0.9.3
# ./certbot-auto --help

  certbot-auto [SUBCOMMAND] [options] [-d domain] [-d domain] ...

Certbot can obtain and install HTTPS/TLS/SSL certificates.  By default,
it will attempt to use a webserver both for obtaining and installing the
cert. Major SUBCOMMANDS are:

  (default) run        Obtain & install a cert in your current webserver
  certonly             Obtain cert, but do not install it (aka "auth")
  install              Install a previously obtained cert in a server
  renew                Renew previously obtained certs that are near expiry
  revoke               Revoke a previously obtained certificate
  register             Perform tasks related to registering with the CA
  rollback             Rollback server configuration changes made during install
  config_changes       Show changes made to server config during installation
  plugins              Display information about installed plugins

Choice of server plugins for obtaining and installing cert:

  --apache          Use the Apache plugin for authentication & installation
  --standalone      Run a standalone webserver for authentication
  --nginx           Use the Nginx plugin for authentication & installation
  --webroot         Place files in a server's webroot folder for authentication

OR use different plugins to obtain (authenticate) the cert and then install it:

  --authenticator standalone --installer apache

More detailed help:

  -h, --help [topic]    print this message, or detailed help on a topic;
                        the available topics are:

   all, automation, paths, security, testing, or any of the subcommands or
   plugins (certonly, renew, install, register, nginx, apache, standalone,
   webroot, etc.)

After fetch and pull:

# git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
# git rev-parse HEAD
839ff7a2657e6854d053573268b0260f6842e2bd
θ100° [root@revue:~/Versioned/certbot] # ./certbot-auto --version
letsencrypt 0.9.3
θ100° [root@revue:~/Versioned/certbot] 2s # ./certbot-auto --help

  certbot-auto [SUBCOMMAND] [options] [-d domain] [-d domain] ...

Certbot can obtain and install HTTPS/TLS/SSL certificates.  By default,
it will attempt to use a webserver both for obtaining and installing the
cert. Major SUBCOMMANDS are:

  (default) run        Obtain & install a cert in your current webserver
  certonly             Obtain cert, but do not install it (aka "auth")
  install              Install a previously obtained cert in a server
  renew                Renew previously obtained certs that are near expiry
  revoke               Revoke a previously obtained certificate
  register             Perform tasks related to registering with the CA
  rollback             Rollback server configuration changes made during install
  config_changes       Show changes made to server config during installation
  plugins              Display information about installed plugins

Choice of server plugins for obtaining and installing cert:

  --apache          Use the Apache plugin for authentication & installation
  --standalone      Run a standalone webserver for authentication
  --nginx           Use the Nginx plugin for authentication & installation
  --webroot         Place files in a server's webroot folder for authentication

OR use different plugins to obtain (authenticate) the cert and then install it:

  --authenticator standalone --installer apache

More detailed help:

  -h, --help [topic]    print this message, or detailed help on a topic;
                        the available topics are:

   all, automation, paths, security, testing, or any of the subcommands or
   plugins (certonly, renew, install, register, nginx, apache, standalone,
   webroot, etc.)

@pde
Copy link
Member

pde commented Dec 23, 2016

/me nods. Unfortunately you need to do certbot --help all. We have too many flags to show them all by default. But also, we're doing a better job of this in 0.10.0 since we landed #3883 .

@jpluimers
Copy link
Contributor

jpluimers commented Dec 27, 2016

Ah. Now I see. Which means that ideallycertbot --help all is one of the things that really should get hinted in a more elaborate form when performing a plan certbot --help as I would not have thought that would get way more help (:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants